문제
https://www.hackerrank.com/challenges/placements/problem
쿼리
SELECT S.NAME FROM FRIENDS F JOIN STUDENTS S ON F.ID = S.ID JOIN PACKAGES P1 ON F.ID = P1.ID JOIN PACKAGES P2 ON F.FRIEND_ID = P2.ID WHERE P2.SALARY > P1.SALARY ORDER BY P2.SALARY |
쿼리 설명
- 세 개의 테이블을 모두 사용해야 값을 추출할 수 있기 때문에,
세 개 테이블을 모두 조인해준다.
- 조인을 세 번 하면 아래와 같이 총 8개의 column 을 갖는 테이블이 완성된다.
- 이 조인 테이블에서 값, 즉 나의 salary(p1.Salary) 보다 친구의 salary(p2.Salary) 가 더 높은 것을
where 에 조건문으로 달아서 필터링하면 된다.
'SQL' 카테고리의 다른 글
[SQL] Hacker Rank Contest Leaderboard 쿼리 설명 (0) | 2021.07.03 |
---|---|
[SQL] Hacker Rank Top Competitors 쿼리 설명 (0) | 2021.07.01 |
[SQL] Hacker Rank Binary Tree Nodes 쿼리 설명 (0) | 2021.07.01 |
[SQL] Min 과 Order By limit 1 중 어느 것을 사용해야 할까? (0) | 2021.06.19 |
[SQL] cheating sheet 정리 (0) | 2020.12.21 |