forked from fishercoder1534/Leetcode
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path_1270.sql
57 lines (56 loc) · 2.31 KB
/
_1270.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
--1270. All People Report to the Given Manager
--
--Table: Employees
--
--+---------------+---------+
--| Column Name | Type |
--+---------------+---------+
--| employee_id | int |
--| employee_name | varchar |
--| manager_id | int |
--+---------------+---------+
--employee_id is the primary key for this table.
--Each row of this table indicates that the employee with ID employee_id and name employee_name reports his work to his/her direct manager with manager_id
--The head of the company is the employee with employee_id = 1.
--
--
--Write an SQL query to find employee_id of all employees that directly or indirectly report their work to the head of the company.
--
--The indirect relation between managers will not exceed 3 managers as the company is small.
--
--Return result table in any order without duplicates.
--
--The query result format is in the following example:
--
--Employees table:
--+-------------+---------------+------------+
--| employee_id | employee_name | manager_id |
--+-------------+---------------+------------+
--| 1 | Boss | 1 |
--| 3 | Alice | 3 |
--| 2 | Bob | 1 |
--| 4 | Daniel | 2 |
--| 7 | Luis | 4 |
--| 8 | Jhon | 3 |
--| 9 | Angela | 8 |
--| 77 | Robert | 1 |
--+-------------+---------------+------------+
--
--Result table:
--+-------------+
--| employee_id |
--+-------------+
--| 2 |
--| 77 |
--| 4 |
--| 7 |
--+-------------+
--
--The head of the company is the employee with employee_id 1.
--The employees with employee_id 2 and 77 report their work directly to the head of the company.
--The employee with employee_id 4 report his work indirectly to the head of the company 4 --> 2 --> 1.
--The employee with employee_id 7 report his work indirectly to the head of the company 7 --> 4 --> 2 --> 1.
--The employees with employee_id 3, 8 and 9 don't report their work to head of company directly or indirectly.
--# Write your MySQL query statement below
select e3.employee_id from Employees e1, Employees e2, Employees e3
where e1.manager_id = 1 and e2.manager_id = e1.employee_id and e3.manager_id = e2.employee_id and e3.employee_id != 1