📖 문제
🧑🏻💻 풀이 과정
1) 문제 이해 및 접근
등급 테이블에서 해당 범위 안에 속하면 등급을 매겨야 하므로 조인으로 데이터 결합
출력에서 등급이 특정 수준 이하이면 NULL 값을 출력해야하므로 CASE 절 사용
2) 풀이 코드
사용 언어 - MySQL, Oracle
SELECT CASE WHEN g.grade >= 8 THEN s.name -- grade 가 8 이상만 이름 출력
ELSE NULL -- 8 이하는 NULL 값
END
, g.grade, s.marks
FROM students AS s
JOIN grades AS g ON (s.marks >= g.min_mark AND s.marks <= g.max_mark) -- 범위내에 속한걸로 조인
ORDER BY g.grade DESC, s.name, s.marks; -- grade 내림차순, name, marks 오름차순
📝 결과 및 학습한 내용
1) 어려웠던 내용
특별히 없습니다
2) 새롭게 학습한 내용
특별히 없습니다
🔗 문제 링크
- https://www.hackerrank.com/challenges/the-report/problem?isFullScreen=false
※ 오류 및 오타, 다른 의견이 있는 경우 댓글을 남겨주시면 감사하겠습니다
'알고리즘 문제풀이 > SQL' 카테고리의 다른 글
[HackerRank] Top Earners (0) | 2021.12.30 |
---|---|
[HackerRank] The Blunder (0) | 2021.12.29 |
[HackerRank] Average Population of Each Continent (0) | 2021.12.27 |
[HackerRank] African Cities (0) | 2021.12.26 |
[프로그래머스] 우유와 요거트가 담긴 장바구니 (0) | 2021.12.25 |
댓글