https://www.hackerrank.com/challenges/the-report/problem
문제 설명 및 방법
학생의 성적 데이터가 주어진다. 그리고, 학생의 점수가 어떤 구간의 rank에 속하는지를 추출해야 한다.
양쪽의 data를 동시에 써야 하는데, 공통된 열이 없다. 대신에 between문을 바탕으로 값을 추출할 수 있다.
Cartesian Product를 활용하여 데이터 필드를 생성하면 된다.
또한 문제에서 , Grade가 8 이하인 경우에는 Name을 보내지 않는다.
쿼리
SELECT IF(GRADE < 8, NULL, NAME), GRADE, MARKS
FROM STUDENTS CROSS JOIN GRADES
WHERE STUDENTS.MARKS BETWEEN GRADES.MIN_MARK AND GRADES.MAX_MARK
ORDER BY GRADE DESC, NAME
'SQL' 카테고리의 다른 글
[DB] Key 정리 (0) | 2021.08.18 |
---|---|
[SQL] Having 절 (0) | 2021.07.05 |
[SQL] HackerRank - Ollivander's Inventory (0) | 2021.06.08 |
[SQL] JOIN의 종류와 예시 (0) | 2021.06.08 |
[SQL] HackerRank - Population Census (0) | 2021.06.04 |