Problem: 185. 部门工资前三高的所有员工
👨🏫 参考题解
SELECT
    d.Name AS 'Department',            -- 选择部门的名称,并将其别名为 'Department'
    e1.Name AS 'Employee',             -- 选择员工的姓名,并将其别名为 'Employee'
    e1.Salary                          -- 选择员工的薪水
FROM
    Employee e1                        -- 从 Employee 表中选取员工 e1
    JOIN Department d                  -- 连接 Department 表
    ON e1.DepartmentId = d.Id          -- 根据 DepartmentId 进行连接,关联员工与其所属部门
WHERE
    3 > (
        SELECT
            COUNT(DISTINCT e2.Salary)  -- 统计同一部门内比当前员工 e1 薪水高的不同薪水数
        FROM
            Employee e2                -- 再次从 Employee 表中选取员工 e2
        WHERE
            e2.Salary > e1.Salary      -- 条件1:选取薪水高于当前员工 e1 的员工 e2
            AND e1.DepartmentId = e2.DepartmentId  -- 条件2:确保 e2 和 e1 属于同一部门
    )
;














![[SQLSERVER][SQL]数据库备份任务异常](https://i-blog.csdnimg.cn/direct/cef0f767c33d40bf918a51e6b08ea25c.png)





