天天看點

LeetCode上的SQL練習

184. 部門工資最高的員工

SELECT
    D. NAME Department,
    E. NAME Employee,
    E.Salary
FROM
    -- 内連接配接兩張查詢表
    Employee E
INNER JOIN Department D ON E.DepartmentId = D.ID
WHERE
    -- 保證查詢結果中E.DepartmentId, Salary對應不能最高工資
    (E.DepartmentId, Salary) IN (
        -- 分組查詢出部門以及部門最高工資(有可能多個領最高工資的人,不做限定)
        SELECT
            DepartmentId,
            max(Salary)
        FROM
            Employee
        GROUP BY
            DepartmentId
    );      

繼續閱讀