一、要求:查询平均薪水最高部门的部门编号
二、背景:当前数据库有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 )
结果图:
原文地址:https://www.cnblogs.com/wodexk/p/10703856.html
时间: 2024-11-11 04:33:12