zoukankan      html  css  js  c++  java
  • Mysql_案例1:查询出每个部门工资最高的员工信息

    案例:查询出每个部门工资最高的员工信息

    1、背景:当前数据库有employee表和department表,数据分别如下:

      employee表:

     department表:

     思考步骤:

    1、从employee表里查询出每个部门的最高薪资,作为一张临时表 t

    2、将临时表 t 和 employee表进行内连接,并新增一列,显示employee表里每个员工所在部门对应的最高薪资

    3、再用 employee表里每个员工的薪资字段salary 和 部门最高薪资字段列maxsalary进行判断,查询出相等数据,此处则查询出了每个部门最高薪资的员工有哪些,作为表 tt 

    4、因为表 tt 没有部门名称,所以我们再将表 tt 和department 表进行内链接,查询部门id相等的数据,从而查询出每个员工所在的部门名称

     

    SQL语句:

     1 SELECT tt.*,d.name
     2 from
     3 (
     4             SELECT e.*,t.maxsalary  
     5             from (
     6                         SELECT departmentid,MAX(salary) as maxsalary
     7                         from employee
     8                         GROUP BY departmentid
     9             ) as t 
    10 
    11             INNER JOIN
    12                                 employee as e
    13 
    14             on   
    15                                 t.departmentid = e.departmentid
    16 
    17             WHERE 
    18                                 e.salary=t.maxsalary
    19 ) as tt
    20 
    21 INNER JOIN
    22         department as d 
    23 on 
    24         tt.departmentid = d.id
    25 
    26 ORDER BY tt.departmentid,tt.id

     图例解释:

  • 相关阅读:
    hadoop集群委任和解除节点
    hadoop参数
    HDFS启动及读写过程(读书笔记)
    hadoop QJM高可用原理
    十七、S3C2440裸机—IIC 接口
    十六、S3C2440裸机—UART
    十五、S3C2440裸机—系统时钟和定时器
    十四、s3c2440裸机—中断控制器
    四、NAND Flash
    二、存储管理器--SDRAM
  • 原文地址:https://www.cnblogs.com/wodexk/p/10678403.html
Copyright © 2011-2022 走看看