MySQL基礎系列--常用操作

查詢部門最高工資的員工信息

其他網址

查詢部門最高工資的員工信息_Rainys-CSDN博客_查詢每個部門最高工資的員工信息

表Employee保存了所有的員工數據。

Id Name Salary DepartmentId
1 Joe 70000 1
2 Henry 80000 2
3 Sam 60000 2
4 Max 90000 1


表Department保存了所有的部門數據。

Id Name
1 IT
2 Sales


寫一段SQL查找出各部門工資最高的員工信息。如上所示,IT部門工資最高的是Max,Sales部門工資最高的是Henry。

Department Employee Salary
IT Max 90000
Sales Henry 80000

答案一:

SELECT D.name Department,
  E1.Name   AS Employee,
  E1.Salary AS Salary
FROM tab_Employee E1
JOIN tab_Department D
on E1.DepartmentId = D.Id
AND E1.Salary >=
  (SELECT MAX(Salary)
  FROM tab_Employee E2
  WHERE E1.DepartmentId = E2.DepartmentId
  );

答案二:

SELECT b.Name as Department,
  a.name   as Employee, 
  a.Salary as Salary 
FROM Employee as a, Department as b, 
  (select max(Salary) as Salary, DepartmentId from Employee group by DepartmentId) as c
WHERE a.DepartmentId = b.Id and 
  a.Salary = c.Salary and 
  a.DepartmentId = c.DepartmentId;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章