본문 바로가기
SQL

[SQL] HackerRank - The Report

by 다람이도토리 2021. 6. 8.

https://www.hackerrank.com/challenges/the-report/problem

 

The Report | HackerRank

Write a query to generate a report containing three columns: Name, Grade and Mark.

www.hackerrank.com

 

문제 설명 및 방법

학생의 성적 데이터가 주어진다. 그리고, 학생의 점수가 어떤 구간의 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