0
点赞
收藏
分享

微信扫一扫

leetcode中等之1270.向公司CEO汇报工作的所有人

大自然在召唤 2022-04-30 阅读 102

员工表:Employees

Column NameType
employee_idint
employee_namevarchar
manager_idint

employee_id 是这个表的主键。
这个表中每一行中,employee_id 表示职工的 ID,employee_name 表示职工的名字,manager_id 表示该职工汇报工作的直线经理。
这个公司 CEO 是 employee_id = 1 的人。

问题

用 SQL 查询出所有直接或间接向公司 CEO 汇报工作的职工的 employee_id 。

由于公司规模较小,经理之间的间接关系不超过 3 个经理。

可以以任何顺序返回无重复项的结果。

示例

Employees table:

employee_idemployee_namemanager_id
1Boss1
3Alice3
2Bob1
4Daniel2
7Luis4
8Jhon3
9Angela8
77Robert1

Result table:

employee_id
2
77
4
7

公司 CEO 的 employee_id 是 1.
employee_id 是 2 和 77 的职员直接汇报给公司 CEO。
employee_id 是 4 的职员间接汇报给公司 CEO 4 --> 2 --> 1 。
employee_id 是 7 的职员间接汇报给公司 CEO 7 --> 4 --> 2 --> 1 。
employee_id 是 3, 8 ,9 的职员不会直接或间接的汇报给公司 CEO。

解答

select distinct e3.employee_id
from employees e1,employees e2,employees e3
where e1.employee_id=e2.manager_id
    and e2.employee_id=e3.manager_id
    and e3.employee_id !=1 and e1.manager_id=1
举报

相关推荐

0 条评论