학습용 기출·복원자료 분류 확인SQLD · 2023년 51회 SQL 기본 및 활용 · 18번
A+B+C+D의 행별 합을 SUM한 값과 각 열 SUM을 더한 값으로 옳은 것은?
1
30, 100
오답 이유열별 합계를 다시 더하면 44+16+40+30=130이므로 둘째 값이 틀렸다. 따라서 1번 보기 ‘30, 100’의 적용 여부를 문제 조건과 대조해야 한다.
2
130, 30
오답 이유‘130, 30’은 이 문항에서 요구하는 ‘30, 130’의 정의·역할과 구분된다. 행 내부 덧셈은 열 하나라도 NULL이면 NULL이므로 네 값이 모두 있는 마지막 행 30만 첫 SUM에 포함된다. 열별 SUM은 NULL을 각각 제외해 A=44, B=16, C=40, D=30이며 합은 130이다. 따라서 2번 보기 ‘130, 30’의 적용 여부를 문제 조건과 대조해야 한다.
3
30, 130
정답 근거행 내부 덧셈은 열 하나라도 NULL이면 NULL이므로 네 값이 모두 있는 마지막 행 30만 첫 SUM에 포함된다. 열별 SUM은 NULL을 각각 제외해 A=44, B=16, C=40, D=30이며 합은 130이다. 따라서 3번 보기 ‘30, 130’의 적용 여부를 문제 조건과 대조해야 한다.
4
NULL, 130
오답 이유SUM은 NULL 행을 제외하며 비NULL 행별 합 30이 있어 첫 결과가 NULL이 아니다. 따라서 4번 보기 ‘NULL, 130’의 적용 여부를 문제 조건과 대조해야 한다.
ANSWER & EXPLANATION
정답 3번
핵심 판단은 3번 ‘30, 130’입니다. 행 내부 덧셈은 열 하나라도 NULL이면 NULL이므로 네 값이 모두 있는 마지막 행 30만 첫 SUM에 포함된다. 열별 SUM은 NULL을 각각 제외해 A=44, B=16, C=40, D=30이며 합은 130이다.