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

 圖例解釋:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM