반응형
Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 오버로딩
- 입출력
- over()
- 둘만의 암호 자바
- 프로그래머스
- 캡슐화
- StringBuffer
- SQL Mapper
- 멀티프로세싱
- hackerrank
- 자바의정석
- 혼공얄코
- 다형성
- java
- CPU
- 자바의 정석
- 리눅스
- StringBuilder
- 백트래킹
- LocalDate
- BFS
- 멀티태스킹
- 오버라이딩
- spring security
- 오블완
- 프로그래머스 둘만의 암호
- spring security 설정
- 티스토리챌린지
- 둘만의 암호
- localtime
Archives
- Today
- Total
쉽게 쉽게
[HackerRank] Placements 본문
반응형
1. 문제



해석
- 자신보다 자신의 베스트 프렌드가 더 높은 급여를 받는 학생들의 이름을 추출
- 이름은 베스트 프렌드의 급여로 정렬(오름차순)
- 급여가 중복되는 일은 없음
2. 풀이
1. 테이블을 조인하여 필요한 정보 추출
(학생 id, 학생 이름, 학생 급여, 베스트 프렌드)
SELECT s.ID, s.name, p.salary as my_salary , f.friend_id FROM Students s
JOIN Packages p on s.ID = p.ID
JOIN Friends f on p.ID = f.ID;
2. 베스트 프렌드의 급여정보 추출
SELECT result.name FROM(
SELECT s.ID, s.name, p.salary as my_salary , f.friend_id FROM Students s
JOIN Packages p on s.ID = p.ID
JOIN Friends f on p.ID = f.ID
) result
JOIN Packages p ON result.friend_id = p.id;
3. 베스트 프렌드 급여가 나의 급여보다 높은 경우 추출
SELECT result.name FROM(
SELECT s.ID, s.name, p.salary as my_salary , f.friend_id FROM Students s
JOIN Packages p on s.ID = p.ID
JOIN Friends f on p.ID = f.ID
) result
JOIN Packages p ON result.friend_id = p.id
WHERE p.salary > result.my_salary;
4. 정렬
SELECT result.name FROM(
SELECT s.ID, s.name, p.salary as my_salary , f.friend_id FROM Students s
JOIN Packages p on s.ID = p.ID
JOIN Friends f on p.ID = f.ID
) result
JOIN Packages p ON result.friend_id = p.id
WHERE p.salary > result.my_salary
ORDER BY p.salary;
| 잘못된 내용이 있다면 지적부탁드립니다. 방문해주셔서 감사합니다. |

반응형
'문제풀이 > HakerRank' 카테고리의 다른 글
| [HackerRank] The PADS (0) | 2023.07.19 |
|---|---|
| [HackerRank] Symmetric Pairs (0) | 2023.07.09 |
| [HackerRank] Challenges (2) | 2023.07.01 |
| [HackerRank] Top Competitors (1) | 2023.06.25 |
| [HackerRank] The Report (1) | 2023.06.21 |