zoukankan      html  css  js  c++  java
  • 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
                                    )

    结果图:

  • 相关阅读:
    基础
    基础
    基础
    基础
    基础
    基础
    基础
    基础
    Gym102361A Angle Beats(直角三角形 计算几何)题解
    Petrozavodsk Summer Training Camp 2016H(多标记线段树)题解
  • 原文地址:https://www.cnblogs.com/wodexk/p/10703856.html
Copyright © 2011-2022 走看看