다음 SCORE 데이터와 SQL을 실행했을 때 출력되는 세 행을 위에서부터 그대로 쓰시오. 열 사이는 한 칸으로 구분한다.
| team | points |
|---|---|
| A | 7 |
| A | 3 |
| B | 5 |
SELECT COALESCE(team, 'ALL') AS team_name, SUM(points) AS total
FROM SCORE
GROUP BY ROLLUP(team)
ORDER BY CASE WHEN team IS NULL THEN 1 ELSE 0 END, team;모범답안
A 10 B 5 ALL 15
풀이와 판단 근거
ROLLUP(team)은 팀별 그룹과 모든 행을 합친 총계 그룹을 함께 만든다. A의 합은 7+3인 10, B의 합은 5이며 총계 행의 team은 NULL이므로 COALESCE에 의해 ALL로 표시되고 합은 15가 된다.
ORDER BY의 CASE가 NULL 총계 행을 마지막에 배치한 뒤 일반 팀은 이름순으로 정렬한다.
자주 틀리는 지점
- ROLLUP 총계 행을 누락
- 총계의 NULL을 그대로 출력
- A의 두 행을 각각 출력해 네 행으로 작성
자동 판정 방식
한글·영문 동의어와 문항별 필수 개념을 확인하며, 정답 단어가 부정되거나 반대 개념과 함께 쓰이면 자동 정답으로 확정하지 않습니다. 부분점수는 ITPASSLAB의 학습용 예상 점수입니다.