SQL
[SQL] LeetCode - 181. Employees Earning More than their Manager
다람이도토리
2021. 9. 2. 09:58
문제 링크
https://leetcode.com/problems/employees-earning-more-than-their-managers/
문제는 간단하다. 자신의 봉급이 자신의 매니저보다 높은 사람들 모두 출력하는 것이다.
내 풀이
SELECT Name as Employee
FROM
(SELECT
E.Name,
E.Salary as E_Salary,
M.Salary as M_Salary
FROM Employee AS E
LEFT JOIN Employee as M
ON E.ManagerId = M.Id
) AS sub
WHERE E_Salary > M_Salary
자신의 매니저의 봉급 데이터를 별도로 붙여서, 가져와야 한다. 이때 주의 사항이, ON을 어떻게 하냐인 부분인데, 자신의 매니저와 실제 매니저 정보를 연결해야 하므로 ON이 저렇게 나온 것이다.
그 런 데
다른 풀이
# Write your MySQL query statement below
SELECT E.Name as Employee
FROM Employee as E, Employee as M
WHERE E.ManagerId = M.Id AND E.Salary > M.Salary
JOIN을 안쓰고도 복수 테이블을 그냥 조회해버릴 수가 있었다.,,,