SQL 문제

[HackerRank] The Report

빙수빈수 2023. 10. 16. 11:08

https://www.hackerrank.com/challenges/the-report/problem?isFullScreen=true 

 

The Report | HackerRank

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

www.hackerrank.com

[코드]

select  
    case
        when b.grade >= 8 then a.name
        else 'NULL'
        end
    , b.grade, a.marks
from Students as a
inner join Grades as b
on (a.Marks>=b.Min_Mark and a.Marks<=b.Max_Mark)
order by b.grade desc, a.name, a.marks;

 

[고찰]

 이번 문제는 grade가 8점 미만이라면 이름 대신 NULL을 출력해주기 위해 case when then 문을 사용해 주었다. 또한 min_mark와 max_mark 범위에 속한 컬럼만 등급을 매겨야 하므로 join 조건으로 달아주었다.