leetcode , 백준

[SQL] LeetCode 181번 문제 학습

_HelloWorld_ 2025. 4. 15. 17:17

문제 설명

Employees Earning More Than Their ManagersEmployee 테이블에서 매니저보다 월급이 많은 직원을 찾는 거임. 

  • Employee 테이블에서 직원의 name을 리턴.
  • 조건: 직원의 salary가 자기 매니저의 salary보다 커야 함.
  • 테이블 구조:
    • Employee: id (PK), name, salary, managerId (FK, 매니저의 id 참조. NULL일 수 있음).
  • 예를 들어:
    • {id: 1, name: "Joe", salary: 70000, managerId: 3} 있고,
    • {id: 3, name: "Sam", salary: 60000, managerId: NULL} 있으면,
    • Joe의 월급(70000)이 매니저 Sam의 월급(60000)보다 크니까 Joe가 결과에 나옴.

SELECT e1.name as Employee
FROM Employee e1
RIGHT JOIN Employee e2 ON e1.ManagerId = e2.id
WHERE e1.salary > e2.salary