본문 바로가기

SQL/HackerRank (SQL문풀)

Hackerrank / Advanced Join / Placements / MySQL

728x90

📚문제

출처 : Hackerrank(https://www.hackerrank.com/challenges/placements/problem?isFullScreen=true)

 

📝풀이

SELECT Name
FROM Students S
INNER JOIN Packages P1 ON S.ID = P1.ID
INNER JOIN Friends F ON P1.ID = F.ID
INNER JOIN Packages P2 ON F.Friend_ID = P2.ID
WHERE P2.Salary > P1.Salary
ORDER BY P2.Salary ASC

시간은 조금 걸리긴 했지만

풀이를 보지 않고 혼자 풀어낸게 뿌듯해서

테이블 3개의 각각 2컬럼 밖에 없는데도 JOIN하려니까 머리아프다

 

 


SELECT Name
FROM Students s
JOIN Friends f ON s.ID = f.id
JOIN Packages p1 ON f.ID = p1.ID
JOIN Packages p2 ON f.Friend_ID = p2.ID
WHERE p1.Salary < p2.Salary
ORDER BY p2.Salary

풀고 보니까 이 문제는 일전에도

똑같은 방식으로 풀었었다

 

다만 적혀있는 글을 봤을 때

생각해내는 시간은

확실히 좀 덜 걸린것 같다

728x90