본문 바로가기
Data Engineering

[SQLD 자격검정 실전문제] Part 2-1. 77번 SQL의 실행 결과 찾기

by 햣둘 2025. 6. 9.

정답 : 1번 

NULL이 포함된 그룹별 집계에서 NULL도 하나의 그룹으로 처리됨

MIN, MAX 함수는 NULL이 아닌 행 중에서 최소, 최대값을 추출함

NULL을 포함한 사칙연산은 결과가 NULL임 

CREATE TABLE TABLE_A (
    TABKEY NUMBER,
    COLA NUMBER,
    COLB VARCAHR2(4),
    COLC NUMBER
);

INSERT INTO TABLE_A VALUES (1, NULL, '가', NULL);
INSERT INTO TABLE_A VALUES (2, 1, '가', 5);
INSERT INTO TABLE_A VALUES (3, NULL, '나', 2);
INSERT INTO TABLE_A VALUES (4, 3, '나', 0);
INSERT INTO TABLE_A VALUES (5, NULL, NULL, 3);
INSERT INTO TABLE_A VALUES (6, 5, '다', 0);
INSERT INTO TABLE_A VALUES (7, NULL, '다', NULL);

SELECT COLB,
    MAX(COLA) AS COLA1,
    MAX(COLA) AS COLA2,
    SUM(COLA + COLC) AS SUMAC
FROM TABLE_A
GROUP BY COLB;

 

[요약 설명]

이 문제는 SQL 집계 함수인 MAX, MIN, SUM의 동작을 이해하고 있는지를 평가함

특히 NULL값이 집계함수에 미치는 영향을 파악하는 것이 중요함

 

[이론적 내용]

1. MAX 함수

- 그룹 내에서 가장 큰 값 반환

- NULL 값은 무시됨

 

2. MIN 함수

- 그룹 내에서 가장 작은 값 반환

- NULL 값은 무시됨

 

3. SUM 함수

- 그룹 내 숫자들의 합계를 반환함

- NULL 값은 계산에 영향을 주지 않음

- NULL 값과의 산술연산 결과는 NULL이므로, COLA+COLC에서 둘 중 하나라도 NULL이면 해당 값은 NULL로 처리됨