728x90
세 개의 테이블이 제공됩니다: Students , Friends 및 Packages. 학생 에는 ID 및 이름 이라는 두 개의 열이 있습니다 .
친구 에는 ID 및 Friend_ID ( 유일한 가장 친한 친구의 ID )의 두 열이 있습니다. 패키지 에는 ID 와 급여 의 두 열이 있습니다.
가장 친한 친구가 그들보다 높은 급여를 제안받은 학생의 이름을 출력하는 쿼리를 작성하십시오. 이름은 가장 친한 친구에게 제공되는 급여 금액으로 정렬되어야 합니다. 두 명의 학생이 동일한 급여 제안을 받지 않았음을 보장합니다.
1. ID, NAME, SALARY, FRIEND_ID, FRIEND_SALARY로 된 임시 테이블 TEMP를 만든다.
FRINED_SALARY는 새로운 컬럼으로 만들어준다.
2. TEMP 테이블에서 SALARY(내 연봉) 과 FRIEND_SALARY(친구연봉)을 비교해서 친구가 더 크다면 내 이름을 출력하고, 정렬은 친구의 연봉 오름차순으로 해준다.
With temp as
(select S.id, S.name, P.salary, F.friend_id,PP.salary as friend_salary
from Students S
inner join Packages P
on P.id=S.id
inner join Friends F
on F.id=S.id
inner join Packages PP
on F.friend_id=PP.id)
select name
from temp T
where T.salary < T.friend_salary
order by T.friend_salary
'IT Data 분석' 카테고리의 다른 글
[SQL] HackerRank PROJECT PLANNING (0) | 2022.11.06 |
---|---|
[SQL] Hackerrank Symmetric Pairs (0) | 2022.11.06 |
[ADSP] 3과목 데이터분석 - 통계분석 (0) | 2022.10.10 |
[ADSP] 3과목 데이터분석 - 데이터분석 개요 (0) | 2022.10.10 |
[SQL] 프로그래머스 - 동명 동물수 찾기 (0) | 2022.09.08 |