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 。

看答案請點我

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

看答案請點我

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

看答案請點我

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

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

看答案請點我

  • 今有一功能為新增訂單資料,新增作業中會同時新增兩個資料表的內容資料(訂單主檔及明細檔),為確保資料庫交易的一致性,其中一方交易失敗則整個交易都rollback,請簡述如何設計方能達到此一目的。使用 TRANSACTION交易機制:

    看答案請點我

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s