一、要求:查詢平均薪水最高部門的部門編號
二、背景:當前數據庫有employee表和department表,數據分別如下:
? employee表:
?
?department表:
?
三、難點:
1、需要考慮最高平均薪資可能在多個部門同時出現,查詢出來的結果需要涵蓋所有最高平均薪資的部門id
2、部門名稱和員工工資不在一個表,所以需要用連接進行查詢獲取部門名稱
?
四、SQL語句
SELECT e.departmentid,d.name,AVG(e.salary) avgsal FROM employee e INNER JOINdepartment d ONe.departmentid =d.idGROUP BY e.departmentid,d.`name` HAVING avgsal = (SELECT MAX(t.avgsal) maxsalFROM (SELECT departmentid,AVG(salary) avgsalFROM employeeGROUP BY departmentid) t)
結果圖:
?