Notice
Recent Posts
Recent Comments
Link
«   2025/09   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

하루에 하나씩 공부하기

[해커랭크-Advanced Join] Placements 본문

카테고리 없음

[해커랭크-Advanced Join] Placements

dltaexox 2025. 9. 11. 16:40

- 문제

테이블 3개 주어지고, 친구보다 샐러리 낮은 사람 이름 출력하기

 

- 키포인트

테이블 조인하는 방법

 

- 쿼리

WITH FRIE AS (
SELECT F.ID, P.SALARY AS FS
FROM FRIENDS F JOIN PACKAGES P
ON F.FRIEND_ID=P.ID 
)

SELECT NAME
FROM STUDENTS S JOIN PACKAGES P ON S.ID=P.ID JOIN FRIE F ON S.ID=F.ID
WHERE P.SALARY<F.FS
ORDER BY F.FS;

 

친구 봉급을 저장해놓은 CTE 생성

 

- 다른 풀이

select a.name
from students a
    inner join friends b on a.id = b.id
    inner join packages c on a.id = c.id
    inner join packages d on b.friend_id = d.id 
where c.salary < d.salary
order by d.salary

 

직관적으로 테이블 조인