- 部门工资前三高的所有员工
思路:审题,注意不是按照部门进行区分而是求得排名前三的工资情况
SELECT d.Name AS Department,e1.Name AS Employee,e1.Salary AS Salary FROM Employee e1
JOIN Department d ON e1.DepartmentId = d.Id
WHERE 3 > (
SELECT COUNT(DISTINCT e2.Salary ) FROM Employee e2 WHERE e1.Salary < e2.Salary AND e1.DepartmentId = e2.DepartmentId)