정답 : 3번 (90, NULL, 30, 60)
실행 결과는 90, NULL, 30, 60임.
SUM 함수는 NULL을 0으로 처리하지 않음.
또한 NULL값이 포함된 모든 산술 연산의 결과는 NULL이 됨.
1) SELECT SUM(COL2) + SUM(COL3) FROM TAB_A;
SUM(COL2) = NULL + 50 + 10 =60
SUM(COL3) = 20 + 10 + NULL = 30
최종결과 = 60 + 30 = 90
2) SELECT SUM(COL2) + SUM(COL3) FROM TAB_A WHERE COL1 > 0;
조건을 만족하는 행 : COL1 = 30인 행만
SUM(COL2) = NULL
SUM(COL3) = 20
최종결과 = NULL + 20 = NULL
3) SELECT SUM(COL2) + SUM(COL3) FROM TAB_A WHERE COL1 IS NOT NULL;
조건을 만족하는 행 : COL1 = 30과 0인 행
SUM(COL2) = NULL + 10 = 10
SUM(COL3) = 20 + NULL = 20
최종결과 = 10 + 20 = 30
4) SELECT SUM(COL2) + SUM(COL3) FROM TAB_A WHERE COL1 IS NULL;
조건을 만족하는 행 : COL1이 NULL인 행
SUM(COL2) = 50
SUM(COL3) = 10최종결과 = 50 + 10 = 60
[요약 설명]
이 문제는 집계함수 SUM의 동작과 NULL값 처리방식을 이해하고 있는지를 평가함.
집계함수는 NULL값을 무시하고 계산하며, 조건에 따라 집계에 포함되는 행이 달라짐.
[이론적 내용]
SUM함수와 NULL 처리
- 집계함수 SUM은 NULL값을 무시하고 계산함
- ex) SUM(10+NULL+20)은 30으로 계산됨
'Data Engineering' 카테고리의 다른 글
[SQLD 자격검정 실전문제] Part 2-1. 61번 SQL 설명으로 맞는 것 고르기 (0) | 2025.05.29 |
---|---|
[SQLD 자격검정 실전문제] Part 2-1. 60번 SQL NULL이 아닌 경우 찾기 (0) | 2025.05.29 |
[SQLD 자격검정 실전문제] Part 2-1. 58번 SQL 문법 오류 찾기 (0) | 2025.05.29 |
[SQLD 자격검정 실전문제] Part 2-1. 57번 데이터 조건 절 WHERE (0) | 2025.05.29 |
[SQLD 자격검정 실전문제] Part 2-1. 56번 데이터 구조 정의를 위한 SQL (0) | 2025.05.29 |