본문 바로가기
SQL

[SQL] LeetCode - 181. Employees Earning More than their Manager

by 다람이도토리 2021. 9. 2.
문제 링크
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을 안쓰고도 복수 테이블을 그냥 조회해버릴 수가 있었다.,,,