[LeetCode] Self JOIN : 181. Employees Earning More Than Their Managers
1. 문제
The Employee table holds all employees including their managers. Every employee has an Id, and there is also a column for the manager Id.
+----+-------+--------+-----------+
| Id | Name | Salary | ManagerId |
+----+-------+--------+-----------+
| 1 | Joe | 70000 | 3 |
| 2 | Henry | 80000 | 4 |
| 3 | Sam | 60000 | NULL |
| 4 | Max | 90000 | NULL |
+----+-------+--------+-----------+
Given the Employee table, write a SQL query that finds out employees who earn more than their managers. For the above table, Joe is the only employee who earns more than his manager.
+----------+
| Employee |
+----------+
| Joe |
+----------+
2. 답
SELECT employee.name AS Employee
FROM employee
INNER JOIN employee AS manager ON employee.managerid = manager.id
WHERE employee.salary > manager.salary
3. KEY POINT
- Self JOIN : 자기 자신을 JOIN
- 자기자신을 JOIN할 때, 두 테이블을 혼용하지 않도록 AS를 사용하여 별명을 붙이기
- INNER JOIN: 왼쪽 테이블을 기준으로 합쳐야 하므로 사용
leetcode.com/problems/employees-earning-more-than-their-managers/
Employees Earning More Than Their Managers - LeetCode
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
leetcode.com