SQL比较弱求解释下这条SQL(子查询)

    xiaoxiao2023-07-09  148

    表Employee: 1 +----+-------+--------+--------------+ 2 | Id | Name | Salary | DepartmentId | 3 +----+-------+--------+--------------+ 4 | 1 | Joe | 70000 | 1 | 5 | 2 | Henry | 80000 | 2 | 6 | 3 | Sam | 60000 | 2 | 7 | 4 | Max | 90000 | 1 | 8 | 5 | Janet | 69000 | 1 | 9 | 6 | Randy | 85000 | 1 | 10 +----+-------+--------+--------------+ 表Department: 1 +----+----------+ 2 | Id | Name | 3 +----+----------+ 4 | 1 | IT | 5 | 2 | Sales | 6 +----+----------+ 写一段SQL查询各部门收入前三位的员工信息,返回结果如下: 1 +------------+----------+--------+ 2 | Department | Employee | Salary | 3 +------------+----------+--------+ 4 | IT | Max | 90000 | 5 | IT | Randy | 85000 | 6 | IT | Joe | 70000 | 7 | Sales | Henry | 80000 | 8 | Sales | Sam | 60000 | 9 +------------+----------+--------+ SELECT a. NAME AS Department, b. NAME AS Employee, b.Salary FROM Department a, Employee b WHERE b.DepartmentId = a.Id AND ( SELECT count(DISTINCT Salary) FROM Employee WHERE DepartmentId = a.Id AND Salary > b.Salary ) < 3 ORDER BY Department
    最新回复(0)