Q :
编写一个 SQL 查询,找出每个部门工资最高的员工。例如,根据下述给定的表格,Max 在 IT 部门有最高工资,Henry 在 Sales 部门有最高工资。
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 |
A:
SELECT
Department.name as "Department",
Employee.name as "Employee",
Salary
FROM
Employee JOIN Department
ON
Employee.departmentId = Department.Id
WHERE
(Employee.departmentId, Salary) IN
( SELECT departmentId, MAX(Salary)
FROM Employee
GROUP BY departmentId
)
;
版权声明:本文为weixin_44355591原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。