본문 바로가기

SQL/[HackerRank]

[HackerRank/MySQL] The Report

728x90

< Problem >

이름, 등급, 점수 출력하기 (등급 기준 내림차순, 등급이 동일한 경우, 이름 기준 오름차순)

링크:  https://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


< Code >

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 ASC

 

< Lesson & Learned >

SELECT: 키워드와 함께 검색하고 싶은 속성의 이름을 나열
IF(조건, A, B): 조건이 참일 때, A값 출력, 조건이 거짓일 때, B값 출력
FROM: 키워드와 함께 검색하고 싶은 속성이 있는 데이블의 이름을 나열

JOIN ON: 추가예정
BETWEEN A AND B
: A이상 B이하의 값 범위
ORDER BY: 결과 테이블 내용을 원하는 순서로 출력. 오름차순(기본): ASC, 내림차순: DESC

728x90