728x90
The Report
- BETWEEN 범위 조건으로 JOIN 하기
- report NOT : Names of those students who received a grade lower than 8. → if the grade is lower than 8, use "NULL"
- Ordering by grade in descending, than alphabetically
- More than one student with the same grade (1-7), ordering by marks in ascending order
SELECT CASE
WHEN G.grade >= 8 THEN S.Name ELSE NULL
END AS Name, G.grade, S.Marks
FROM Students S, Grades G
WHERE S.Marks BETWEEN G.Min_Mark AND G.Max_Mark
ORDER BY G.grade DESC, S.Name ASC
SELECT CASE WHEN G.Grade >= 8 THEN S.Name ELSE NULL END AS Name
, G.Grade
, S.Marks
FROM Students AS S
INNER JOIN Grades AS G ON S.marks BETWEEN G.Min_Mark AND G.Max_Mark
ORDER BY G.Grade DESC, Name, S.Marks
https://www.hackerrank.com/challenges/the-report/problem
728x90
'공부하는삶 > SQL' 카테고리의 다른 글
Department Top Three Salaries (0) | 2020.08.23 |
---|---|
Department highest salary (0) | 2020.08.23 |
Consecutive Numbers - 연속된 숫자 찾기 (0) | 2020.08.17 |