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 을 현명하게 다루는 핵심 요약

  1. NULL은 값이 아닌 상태임을 기억하라.
  2. 비교할 때는 항상 IS NULL, IS NOT NULL을 사용하라.
  3. 연산에 NULL이 포함되면 결과도 NULL임을 인지하라.
  4. 집계 함수는 NULL을 알아서 제외한다는 사실을 활용하라.
  5. NULL을 특정 값으로 대체하고 싶을 땐 COALESCE를 사용하라.
  6. 설계 단계에서 가능한 한 NOT NULL 제약조건을 적극적으로 사용하라.