CS
[SQLD] NULL
2026년 02월 11일 14:00
SQLD 1과목 – NULL
NULL이란?
NULL은
DBMS에서 값이 아직 정해지지 않았음을 의미하는 특수 값이다.
- 0과 다름
- 공백(' ')과 다름
- "값의 미정(Unknown)" 상태
- 모델 설계 시 NULL 허용 여부(Nullable) 반드시 결정
NULL의 기본 성질
① 산술 연산
NULL을 포함한 연산 결과는 항상 NULL
예: NULL + 300 = NULL
👉 연산 전 반드시 NVL 등으로 치환 필요
② 집계 함수에서의 NULL 처리 ⭐⭐⭐
집계 함수는 NULL을 제외하고 계산한다.
- SUM, AVG, MIN, MAX → NULL 무시
- COUNT(컬럼명) → NULL이 아닌 값만 계산
- COUNT(*) → NULL 여부와 관계없이 전체 행 수 반환
AVG 주의
- AVG(컬럼) → NULL 제외 후 평균
- SUM(컬럼) / COUNT(*) → 전체 행 기준 평균
👉 두 결과는 다를 수 있음

③ 비교 연산 불가
NULL은 =, <>, > 등의 비교 연산으로 비교 불가
반드시 다음 사용:
- IS NULL
- IS NOT NULL
④ 정렬 시 NULL 위치
DBMS마다 다름
- Oracle: 오름차순 시 NULL은 가장 마지막
- SQL Server: 오름차순 시 NULL은 가장 처음
NULL의 ERD 표기법
IE 표기법
- NULL 허용 여부 표시하지 않음
Barker 표기법
- 속성명 앞 ○ 표시 → NULL 허용

