본문 바로가기
MySQL/문제풀이

[LeetCode] Self JOIN : 181. Employees Earning More Than Their Managers

by MINNI_ 2021. 3. 15.

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

 

댓글