*LeetCode MySQL从两个表中查找部门工资最高的员工

Q :

编写一个 SQL 查询,找出每个部门工资最高的员工。例如,根据下述给定的表格,Max 在 IT 部门有最高工资,Henry 在 Sales 部门有最高工资。

Employee:

IdNameSalaryDepartmentId
1Joe700001
2Henry800002
3Sam600002
4Max900001

Department:

IdName
1IT
2Sales

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版权协议,转载请附上原文出处链接和本声明。