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(*) → 전체 행 기준 평균

👉 두 결과는 다를 수 있음

sqld-null-avg

③ 비교 연산 불가

NULL은 =, <>, > 등의 비교 연산으로 비교 불가

반드시 다음 사용:

  • IS NULL
  • IS NOT NULL

④ 정렬 시 NULL 위치

DBMS마다 다름

  • Oracle: 오름차순 시 NULL은 가장 마지막
  • SQL Server: 오름차순 시 NULL은 가장 처음

NULL의 ERD 표기법

IE 표기법

  • NULL 허용 여부 표시하지 않음

Barker 표기법

  • 속성명 앞 ○ 표시 → NULL 허용

sqld-null