部门工资最高的员工
题目
解析
第一步:在emploee表中找到最大的工资以及部门ID,这样做的好处是可以避免有多个人工资都最高
第二步:内连接后,查找题上给定的字段,条件是工资与ID在第一步查找的表中
- 第一步
SELECT
DepartmentId, MAX(Salary)
FROM
Employee
GROUP BY DepartmentId;
结果:
- 第二步
select d.Name as Department,e.Name as Employee, e.Salary
from Employee as e inner join Department as d
on e.DepartmentId = d.Id
where (e.DepartmentId, e.Salary) in
(select DepartmentId, max(Salary) from Employee group by DepartmentId)