[SQLD 자격검정 실전문제] Part 1-2. 49번 널(NULL)에 대한 적절한 설명
정답 : 1번
1) NULL 값에 어떤 숫자를 더해도 결과는 항상 NULL이다. (O)
2) NULL 값과 어떤 숫자의 크기를 비교해도 결과는 항상 NULL이다. (X)
-> NULL 값과 어떤 숫자를 비교한 결과는 UNKNOWN이다. (O)
3) "NULL = NULL" 연산의 결과는 TRUE이다. (X)
-> "NULL = NULL" 연산은 FALSE 또는 UNKNOWN이다. (O)
4) 집계 함수를 계산할 때 NULL 값은 0으로 처리된다. (X)
-> 집계 함수를 계산할 때 NULL 값은 0이 아니라 계산에서 제외된다. (O)
[요약 설명]
이 문제는 데이터베이스에서 NULL의 개념과 연산 시 동작을 이해하고 있는지를 평가함.
NULL 값과의 산술연산 및 비교연산의 결과, 집계함수에서 NULL 값의 처리 방식에 대한 이해가 필요함.
[이론적 내용]
1. NULL과 산술연산
- NULL 값에 어떤 숫자를 더하거나, 연산을 수행하면 결과는 항상 NULL이 됨
- ex) 10 + NULL = NULL
2. NULL과 비교연산
- NULL 값과 숫자 또는 다른 값의 비교(=, !=, <, > 등)는 항상 Unkonwn(알 수 없음) 결과를 반환함
- ex) NULL = 10 또는 NULL < 10 -> NULL
- ex) NULL 값은 IS NULL 또는 IS NOT NULL 연산으로만 명확하게 비교할 수 있음
3. NULL과의 동일성 비교
- "NULL=NULL" 연산의 결과는 TRUE가 아닌 UNKNOWN이 반환됨
- NULL값은 다른 NULL 값과도 동일하지 않은 상태로 간주됨
4. 집계함수에서 NULL 값 처리
- 집계함수(ex. SUM, AVG 등)는 NULL 값을 무시하고 계산을 수행함
- ex) SUM(값)은 NULL 값을 0으로 처리하지 않으며, 단순히 NULL값을 제외하고 합계를 계산함