HackerRank - MS SQL Server
[해커랭크/MS SQL] Placements
nomeleon
2022. 4. 22. 11:36
반응형
문제 링크입니다!
Placements | HackerRank
Write a query to output the names of those students whose best friends got offered a higher salary than them.
www.hackerrank.com
문제
=> 세 개의 테이블이 제공된다 :학생, 친구 및 패키지 테이블
학생에는 ID와 이름이라는 두 개의 열이 있다.
친구에는 ID와 Friend_ID(유일한 가장 친한 친구의 ID)의 두 열이 있다.
패키지에는 ID 및 급여의 두 열이 있다(월 $ 수천에서 급여 제공).
가장 친한 친구가 그들보다 높은 급여를 제안받은 학생의 이름을 조회해라.
이름은 가장 친한 친구에게 제공되는 급여 금액으로 정렬해라.
두 명의 학생이 동일한 급여 제안을 받지 않았음을 보장한다.
풀이
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