Employee 表包含所有员工和他们的经理。每个员工都有一个 Id,并且还有一列是经理的 Id。
+------+----------+-----------+----------+
|Id |Name |Department |ManagerId |
+------+----------+-----------+----------+
|101 |John |A |null |
|102 |Dan |A |101 |
|103 |James |A |101 |
|104 |Amy |A |101 |
|105 |Anne |A |101 |
|106 |Ron |B |101 |
+------+----------+-----------+----------+
给定 Employee 表,请编写一个SQL查询来查找至少有5名直接下属的经理。对于上表,您的SQL查询应该返回:
+-------+
| Name |
+-------+
| John |
+-------+
注意:
没有人是自己的下属。
思路:对每一个员工,用嵌套查询是否有五个下属即可。
select a.Name
from Employee as a
where 5<=(select count(b.Id) from Employee as b where b.ManagerId=a.Id)
SQL查询经理与下属

本文介绍了一种SQL查询技巧,用于找出拥有至少5名直接下属的经理。通过使用嵌套查询,可以有效地筛选出符合条件的经理,展示了如何利用SQL解决实际问题。
430





