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