Allen's 데이터 맛집

HackerRank lv. Medium : The Report 본문

SQL/SQL 문제풀이

HackerRank lv. Medium : The Report

Allen93 2024. 2. 28. 07:39

문제

 

풀이

이 문제는 Eve가 학생들의 이름, 학년 및 성적을 보고서로 생성해야 하는데, Ketty는 성적이 8미만인 학생들의 이름을 포함시키고 싶지 않습니다. 또한 보고서는 학년의 내림차순으로 정렬되어야 합니다. 만약 동일한 학년(8-10)을 받은 학생이 여러 명이라면, 그 학생들은 알파벳순으로 정렬되어야 합니다. 마지막으로, 학년이 8보다 작으면 이름을 "NULL"로 사용하고 해당 학생들을 학년을 내림차순으로 나열해야 합니다. 만약 동일한 학년(1-7)을 받은 학생이 여러 명이라면, 그 학생들은 성적을 오름차순으로 나열되어야 합니다.

SELECT 
    IF(GRADE < 8, NULL, NAME)
    ,GRADE
    ,MARKS
FROM STUDENTS 
    JOIN GRADES
WHERE 
    MARKS BETWEEN MIN_MARK AND MAX_MARK
ORDER BY 
    GRADE DESC, NAME



1. STUDENTS 테이블과 GRADES 테이블을 조인합니다.
2. 학생의 이름, 학년 및 성적을 선택합니다.
3. 성적이 8 미만인 경우 이름을 "NULL"로 표시합니다.
4. 성적이 8 이상인 경우 이름을 표시합니다.
5. 학생의 성적이 해당하는 범위 내에 있는지 확인합니다.
6. 학년을 내림차순으로, 이름을 알파벳순으로 정렬합니다.

 

 

https://www.hackerrank.com/challenges/the-report/problem?isFullScreen=true

 

728x90