해커랭크 [Placements]

윤태영·2024년 8월 28일
0

문제

https://www.hackerrank.com/challenges/placements/problem?isFullScreen=true

세 개의 테이블이 주어진다. 친구, 패키지, 학생은 두개의 열을 포함한다. 가장 친한 친구들이 그들보다 더 높은 월급을 제안 받은 학생들의 이름을 출력하기 위해 쿼리를 작성하세요. 이름은

  1. 가장 친한 친구가 그들보다 더 높은 급여를 제안받은 학생들의 이름 출력

  2. 이름은 가장 친한 친구들에게 제공된 급여 액수에 따라 정렬

  3. 같은 급료는 없다

INPUT FORMAT

TABLE NAME : Students

TABLE NAME : Friends

TABLE NAME : Packages

SAMPLE INPUTS

Sample Output

문제풀이

1) 나의 아이디, 나의 이름, 나의 연봉, 친한친구의 아이디 테이블을 구성
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
profile
ice blue

0개의 댓글