13.向公司CEO汇报工作的所有人
链接:https://leetcode-cn.com/problems/all-people-report-to-the-given-manager/
--先写出直接向CEO汇报的人
SELECT employee_id FROM Employees WHERE manager_id = 1 ;
--间接向CEO汇报的人的查询方法我们可以用子查询的方法
SELECT employee_id FROM Employees WHERE manager_id IN (
SELECT employee_id FROM Employees WHERE manager_id = 1
);
--又因为我们要处理三层关系,再过滤掉CEO
--所以代码如下
select employee_id
from Employees
where manager_id in(
select employee_id from Employees where manager_id in (
select employee_id from Employees where manager_id = 1
)
) and employee_id!=1;
--方法二
--使用连接的方法
select e1.employee_id
from Employees e1
join Employees e2 on e1.manager_id = e2.employee_id
join Employees e3 on e2.manager_id = e3.employee_id
where e1.employee_id != 1 and e3.manager_id = 1