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