SQL_고급- 특이한 Join 조건

해커랭크 문제: The Report

풀이:

SELECT 
    CASE WHEN g.grade < 8 THEN NULL 
    ELSE s.name 
    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
  1. SELECT 문에 출력해야 할 것: Name, Grade, Mark
  2. FROM 문에 쓰는 table -> students 랑 grades 합친 것
  3. 합치는 기준-> marks랑 min_mark와 max_mark사이
  4. 정렬 기준: 성적은 내림차순, 이름과 점수는 오름차순

좋은 웹페이지 즐겨찾기