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

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
    )
;

猜你喜欢

转载自blog.csdn.net/weixin_44355591/article/details/106003651
今日推荐