본문 바로가기
코딩 테스트

[LeetCode] 181. Employees Earning More Than Their Managers | Self JOIN(셀프조인)

by 카프리썬_ 2021. 5. 27.
728x90

아래의 문제는 LeetCode의 SQL문제 내용이며 코드는 직접 푼 내용입니다.


181. Employees Earning More Than Their Managers

 

문제상황 및 주어진 테이블

요구사항

다른 매니저보다 더 많이 버는(Salary가 높은) 직원의 이름을 구하라 

 

결과물


해석

하나의 테이블안에서 비교해야하기 때문에 셀프조인이 필요했다. 

매니저아이디와 그냥 id가 겹치기에 조인이 가능했다. 

 

결과

select E.Name AS Employee
FROM Employee AS E JOIN Employee AS A 
ON E.ManagerId = A.Id 
WHERE E.Salary > A.Salary 

 

배운점

  • 셀프조인 : 하나의 테이블을 두개인것처럼 조인이 가능하다 
  • 직원-상사 이렇게 비교할떄, 친구관계 등 문제에 쓰임

 

반응형