-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathEmployees_Whose_Manager_Left_the_Company.sql
61 lines (48 loc) · 2.2 KB
/
Employees_Whose_Manager_Left_the_Company.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
58
59
60
61
𝟏𝟗𝟕𝟖. 𝐄𝐦𝐩𝐥𝐨𝐲𝐞𝐞𝐬 𝐖𝐡𝐨𝐬𝐞 𝐌𝐚𝐧𝐚𝐠𝐞𝐫 𝐋𝐞𝐟𝐭 𝐭𝐡𝐞 𝐂𝐨𝐦𝐩𝐚𝐧𝐲
Table: Employees
+-------------+----------+
| Column Name | Type |
+-------------+----------+
| employee_id | int |
| name | varchar |
| manager_id | int |
| salary | int |
+-------------+----------+
In SQL, employee_id is the primary key for this table.
This table contains information about the employees, their salary, and the ID of their manager. Some employees do not have a manager (manager_id is null).
Find the IDs of the employees whose salary is strictly less than $30000 and whose manager left the company. When a manager leaves the company, their information is deleted from the Employees table, but the reports still have their manager_id set to the manager that left.
Return the result table ordered by employee_id.
The result format is in the following example.
Example 1:
Input:
Employees table:
+-------------+-----------+------------+--------+
| employee_id | name | manager_id | salary |
+-------------+-----------+------------+--------+
| 3 | Mila | 9 | 60301 |
| 12 | Antonella | null | 31000 |
| 13 | Emery | null | 67084 |
| 1 | Kalel | 11 | 21241 |
| 9 | Mikaela | null | 50937 |
| 11 | Joziah | 6 | 28485 |
+-------------+-----------+------------+--------+
Output:
+-------------+
| employee_id |
+-------------+
| 11 |
+-------------+
Explanation:
The employees with a salary less than $30000 are 1 (Kalel) and 11 (Joziah).
Kalel's manager is employee 11, who is still in the company (Joziah).
Joziah's manager is employee 6, who left the company because there is no row for employee 6 as it was deleted.
----------------------------------------------------------------------------------------------------------------------------------------------------
Solution :
SELECT employee_id
FROM Employees
WHERE salary < 30000 AND
manager_id NOT IN(
SELECT employee_id
FROM Employees
)
ORDER BY employee_id