LeetCode.184. 部门工资最高的员工

LeetCode.184. 部门工资最高的员工

思路:

首先先对返回表头命名,之后连接两表并设置连接键。接下来不可使用group by语句分组,可能是连表导致的问题将导致最后的结果中姓名不匹配。因此使用二次子查询。

代码:

select d.name as Department,e.name as Employee,e.Salary as Salary
from Employee e join Department d
on e.DepartmentId=d.Id
where (e.DepartmentId,e.Salary) in 
(   select DepartmentId,max(Salary) as Salary
    from Employee
    group by DepartmentId
)