코딩 테스트/MySQL

[HackerRank] Placements

알밤바 2025. 8. 8. 10:07
728x90
반응형
 

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


문제

 

 

문제 접근 방식

이번 문제는 조인 문제이다.

 

문제에서 요구한 사항은 다음과 같다.

1) 친한 친구가 더 높은 연봉을 받은 student의 name 출력

2) 친한 친구가 받은 연봉 기준 오름차순 정렬 (단, 동일한 급여를 받은 student는 없음)

 

구하고자 하는 데이터를 출력하기 위해 우선 필요한 컬럼은 student의 name, salary, friend의 salary이다.

student의 name과 salary를 가져 오기 위해 STUDENTS, PACKAGES 테이블 조인,

friend의 salary를 가져 오기 위해 FRIENDS 테이블 조인하여 friend_id를 가져오고, PACKAGES 테이블을 조인하여 friend의 salary를 가져왔다.

 

WHERE절로 친구가 더 높은 연봉을 갖는 경우만 가져오고 ORDER BY절로 정렬하면 끝.

SELECT A1.NAME
FROM STUDENTS A1
LEFT JOIN PACKAGES A2
    ON A1.ID = A2.ID
LEFT JOIN FRIENDS A3
    ON A1.ID = A3.ID
LEFT JOIN PACKAGES A4
    ON A3.FRIEND_ID = A4.ID
WHERE A2.SALARY < A4.SALARY
ORDER BY A4.SALARY
;
728x90
반응형

'코딩 테스트 > MySQL' 카테고리의 다른 글

[HackerRank] Occupations  (3) 2025.08.12
[HackerRank] Symmetric Pairs  (2) 2025.08.11
[HackerRank] SQL Project Planning  (1) 2025.08.07
[HackerRank] Contest Leaderboard  (3) 2025.08.06
[HackerRank] Challenges  (2) 2025.08.05