Algorithms 🚀/HackerRank

[MySQL/해커랭크] The Report

728x90

www.hackerrank.com/challenges/the-report/problem

 

The Report | HackerRank

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

www.hackerrank.com

문제를 간단히 요약해보면 등급 순, 이름순으로 학생들의 이름, 등급, 점수를 조회하는 기초적인 조인 문제입니다.

 

등급이 8미만인 학생들의 이름은 NULL 처리를 해줘야 하는 조건이 있습니다.

 

정답 코드

select if(g.grade < 8, null, s.name), g.grade, s.marks
from students s join grades g
on (s.marks between g.min_mark and g.max_mark)
order by g.grade desc, s.name

저는 비등가 조인을 사용해서 문제를 풀었고 NULL 처리는 IF 함수를 사용해서 처리했습니다.

 

IF 함수의 사용법은 아래와 같습니다. 조건이 참이면 true, 거짓이면 false 부분에 들어가는 내용을 조회합니다.

IF('조건', true, false)

 

 

728x90