2025-08-16 01:53
Tags:SQL
NULL (널) 속성
- 참조의 부재를 표현할 방법(미혼인 사람의 ‘배우자’ 필드)
- Null 은 아직 정의되지 않은 값, 알 수 없음, 적용할 수 없음 등 ‘부재’의 ‘상태’
- NOT NULL이나 PK아니면 널값 가능하다
- 널값 포함 연산 → 결과도 널값
3치 논리: TRUE, FALSE, UNKNOWN(알 수 없음)
- A = 10 : TRUE
- A = 20 : FALSE
- A = NULL : UNKNOWN
- NULL = NULL : UNKNOWN
- WHERE 절에서 = 대신 IS 라는 구문 쓰는 이유
집계함수와 NULL
COUNT(*)
: 행 전체 개수, NULL 여부 상관 없이 카운트COUNT(column)
: NULL 아닌 값의 갯수
NULL 을 현명하게 다루는 핵심 요약
- NULL은 값이 아닌 상태임을 기억하라.
- 비교할 때는 항상
IS NULL
,IS NOT NULL
을 사용하라. - 연산에 NULL이 포함되면 결과도 NULL임을 인지하라.
- 집계 함수는 NULL을 알아서 제외한다는 사실을 활용하라.
- NULL을 특정 값으로 대체하고 싶을 땐
COALESCE
를 사용하라. - 설계 단계에서 가능한 한
NOT NULL
제약조건을 적극적으로 사용하라.