728x90
www.hackerrank.com/challenges/placements/problem
SQL연습도 하고 MySQL 문법도 익힐겸 SQL 문제를 풀어보려고 합니다 :)
이 문제를 간단하게 설명하자면 본인의 월급보다 친구의 월급이 높을 때 그 친구의 이름을 조회하는 문제입니다.
저는 2가지 방식으로 풀었습니다.
1. JOIN만 사용한 방식
SELECT s.name
from STUDENTS s JOIN FRIENDS f ON (s.id = f.id)
JOIN PACKAGES p1 ON (s.id = p1.id)
JOIN PACKAGES p2 ON (f.friend_id = p2.id and p1.salary < p2.salary)
ORDER BY p2.salary;
2. JOIN과 WHERE절을 사용한 방식
SELECT s.name
from STUDENTS s JOIN FRIENDS f ON (s.id = f.id)
JOIN PACKAGES p1 ON (s.id = p1.id)
JOIN PACKAGES p2 ON (f.friend_id = p2.id)
WHERE p1.salary < p2.salary
ORDER BY p2.salary;
728x90
'Algorithms 🚀 > HackerRank' 카테고리의 다른 글
[해커랭크/SQL] Top Competitors (0) | 2021.05.09 |
---|---|
[해커랭크/SQL] New Companies (0) | 2021.05.09 |
[MySQL/해커랭크] Weather Observation Station 20 (0) | 2021.05.05 |
[MySQL/해커랭크] The Report (0) | 2021.05.03 |
[MySQL/해커랭크] Symmetric Pairs (0) | 2021.04.25 |