✔️문제
https://www.hackerrank.com/challenges/placements/problem?isFullScreen=true
✔️문제 요약
1. 가장 친한 친구가 그들보다 더 높은 급여를 제안받은 학생들의 이름 출력
2. 이름은 가장 친한 친구들에게 제공된 급여 액수에 따라 정렬
3. 같은 급료는 없다
✔️풀이 방법
1. 나의 아이디, 나의 이름, 나의 연봉, 친한친구의 아이디 테이블 구성 as mine
select S.ID,Name, Salary as my_sal, Friend_ID
from Students S
join Friends F on S.ID = F.ID
join Packages P on S.ID = P.ID
2.친한 친구의 연봉이 나의 연봉보다 크면 나의 이름 출력
3.친한 친구의 연봉 순
select Name
from (
select S.ID,Name, Salary as my_sal, Friend_ID
from Students S
join Friends F on S.ID = F.ID
join Packages P on S.ID = P.ID
)as mine
join Packages P on mine.Friend_ID=P.ID
where mine.my_sal < P.Salary
order by P.Salary
✔️고찰
- from 절 안에 내가 쓸 테이블을 서브쿼리로 넣어주면 되는건데 with절만 쓰니 자꾸 헷갈린다. 계속계속 익숙해지기!
'코딩테스트 > 코딩테스트 SQL' 카테고리의 다른 글
[HackerRank] The Blunder (0) | 2022.08.23 |
---|---|
[HackerRank] Contest Leaderboard (0) | 2022.08.23 |
[HackerRank] Top Competitors (1) | 2022.08.22 |
댓글