Mysql案例5:取得平均薪资最高的部门的部门名称

Posted 我的星空123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql案例5:取得平均薪资最高的部门的部门名称相关的知识,希望对你有一定的参考价值。

一、要求:查询平均薪水最高部门的部门编号

二、背景:当前数据库有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
                                )

结果图:

 

以上是关于Mysql案例5:取得平均薪资最高的部门的部门名称的主要内容,如果未能解决你的问题,请参考以下文章

Mysql 练习题10道(1-10题)

Mysql案例6_求平均薪资的等级最低的部门的部门名称

6取得平均薪水最高的部门的部门名称bjpowernode34道SQL题

5取得平均薪水最高的部门的部门编号bjpowernode34道SQL题

MySQL 练习题

数据库笔试——查出各部门超出部门平均薪资的员工的姓名,薪资,所在部门名称及部门平均薪水