ISSUE

2021


SQL考題(面試考題參考)  




  • 假設某關聯資料庫(Relational Database)中有兩個表格(Tables)分別儲存「員工」(Employee)、「部門」(Department)。其Table Schema 如下:

Employee(EID, Name, Sex, BirthYear, Full, Salary, DeptNo)

屬性分別代表員工「編號」、「姓名」、「性別」、「出生年」、「專職否」、「薪水」、「所屬部門代號」,而以「編號」為其Primary Key, “Full”的值為字元Y 時表示專職,N 時表示兼職。

Department(DNo, Name, Area)

屬性分別代表部門「代號」、「名稱」、「所在地區」,而以「代號」為其Primary Key。「名稱」值可能為「生產部」、「行銷部」等中文字串,「所在地區」值可能為「台北市」、「高雄市」等中文字串。

請寫出下列查詢之SQL:

(一)對所有專職人員,請依男女分別列出平均年齡,平均年齡欄位另取名為Average_Year 。

SELECT
  AVG(BirthYear) AS Average_Year,Sex
FROM
  Employee
WHERE Full=’Y’
GROUP BY Sex

(二)以一道SQL列出「生產部」的員工中最高與最低薪水的差距,差距欄位取名為Salary_Difference。

SELECT
  max(Salary)-min(Salary) as ‘Salary_Difference’
FROM
  Employee,Department
WHERE
  DeptNo = DNo AND Department.Name= ‘生產部’

(三)列出包含所有所屬部門在「台北市」的員工,欄位有「姓名」(另取名為EName)、「薪水」、「所屬部門名稱」(另取名為DName)。

SELECT
  Employee.Name as ‘EName’, Salary, Department.Name as ‘DName’
FROM
  Employee,Department
WHERE
  DeptNo = DNo AND Department.Area=’台北市’

  • 某一學校的資料庫有下列三個Table:Student (班級,學號,姓名),Course (課程編號,課程名稱,開課老師),Selection(學號,課程編號)。Student 與Course 分別記錄學生與課程資料,而Selection 則記錄那些學號的學生修了那些課程的編號。

請用SQL 寫出查詢:“學生王小明或學號為99開頭的學生所選課的課程名稱及老師”(只要秀課程名稱及老師即可,不要重複)。

SELECT

  Course.課程名稱,Course.開課老師

FROM

  Student,Selection,Course

WHERE

  Student.姓名 = ‘王小明’ AND Student.學號 = Selection.學號 AND Course.課程編號 = Selection.課程編號 OR Student.學號 LIKE ‘99%’ AND Student.學號 = Selection.學號 AND Course.課程編號 = Selection.課程編號

GROUP BY Course.課程名稱,Course.開課老師

  • 今有一功能為新增訂單資料,新增作業中會同時新增兩個資料表的內容資料(訂單主檔及明細檔),為確保資料庫交易的一致性,其中一方交易失敗則整個交易都rollback,請簡述如何設計方能達到此一目的。使用 TRANSACTION交易機制:
  1. Begin Transaction:開啟交易機制。
  2. 執行資料表內容資料的寫入或異動。
  3. Commit:確認交易,在確認時資料才會寫入資料表。
  4. Rollback:回復交易,執行這行時,會回復在交易內所有T-SQL所更動的內容。


前往討論區 這篇文章的網址 (可分享到FB、PTT、Mobile01):

延伸閱讀:北部新冠快篩站預約與等候結果
延伸閱讀:疫情嚴重時少出門必備工具
延伸閱讀:口罩有縫隙! 美國CDC教你knot and tuck改良自己的口罩
延伸閱讀:居家工作 網路攝影機 幫忙看門/看小孩
延伸閱讀:「公費疫苗可選廠牌」哪種廠牌好? 要投保疫苗險嗎?
延伸閱讀:WFH在家工作 急需傳真不用跑便利商店
延伸閱讀:WFH在家工作時時關心疫情 – 小米盒子(追劇看新聞)
延伸閱讀:勞工紓困貸款 貸了有何影響?
延伸閱讀:打不到新冠肺炎(COVID-19)疫苗? 先打肺炎鏈球菌疫苗?
延伸閱讀:COVID-19新冠肺炎 居家快篩試劑,保護自己保護家人
延伸閱讀:必須在長輩手機上設定的 緊急聯絡人與緊急醫療資訊 (快樂缺氧怎麼辦?!) 
延伸閱讀:打不到新冠肺炎(COVID-19)疫苗? 先打肺炎鏈球菌疫苗?
延伸閱讀:必須在長輩手機上設定的 緊急聯絡人與緊急醫療資訊 (快樂缺氧怎麼辦?!) 
延伸閱讀:打了新冠肺炎(COVID-19)疫苗 副作用 (親身經歷) 


您也許對這文章有興趣:

您也許對這文章有興趣:

數位高利活儲帳戶 (渣打/花旗/華南/台新)
數位高利活儲帳戶 (渣打/花旗/華南/台新)

Line 使用常見問題
發錯的LINE訊息可以收回或刪除嗎?

 
其它文章: 前往瀏覽目錄
本篇文章的行動版網頁: 切換到行動版本
返回頂端

Copyright © 2008-2021 Anson | Secured by SSL Connection SSL