[해커랭크]The Report

김준석·2024년 2월 2일

코딩테스트 - SQL

목록 보기
48/96

문제

https://www.hackerrank.com/challenges/the-report/problem?isFullScreen=true
이름, 점수, 등급을 출력하는 문제!

코드

SELECT 
    CASE
        WHEN g.Grade>7 THEN s.Name ELSE NULL END AS Name,
    g.Grade,
    s.Marks
FROM 
    Students s
    INNER JOIN Grades g
    ON s.Marks BETWEEN g.Min_Mark AND g.Max_Mark

ORDER BY
    g.Grade DESC,
    s.Name

후기

  1. 각 점수별로 등급을 매겨줘야 되는데 JOIN ON ~부분에 BETWEEN 같은 연산자를 쓸 수 있는걸 처음알았다.
    저렇게 테이블을 조인하면 자동으로 각 점수별로 등급 컬럼이 필터링 됨.
  2. 8보다 등급이 아래면 이름을 NULL처리.. 너무하구만..

0개의 댓글