SQL

해커랭크(HackerRank) MySQL-The Report

potatode 2022. 8. 9. 10:18
SELECT (CASE WHEN g.Grade <8 THEN NULL ELSE s.Name END) as Name,g.Grade, s.Marks 
FROM Students as s
LEFT JOIN GRADES as g
    ON s.Marks BETWEEN g.Min_mark AND g.Max_Mark
ORDER BY g.Grade DESC, s.Name, s.Marks

난 LEFT JOIN을 썼지만 INNER JOIN이 더 효율이 좋을 듯하다.

 

JOIN의 ON 조건에도 BETWEEN문을 쓸 수 있다.

위의 경우 Marks가 g의 Min_Mark와 Max_Mark 사이에 있는 경우 조인하라는 뜻이다.

 

 

반응형