2.4 NULL 속성

1. NULL 값의 연산

1.1 NULL 값이란?

Null 또는 NULL은 구조적 질의 언어 (SQL)에서 데이터베이스 내의 데이터 값이 존재하지 않는다는 것을 지시하는데 사용되는 특별한 표시어(special marker)이다. 데이터베이스 관계 모델의 창시자인 E. F. 콧(E. F. Codd)에 만들어진 개념으로, SQL NULL은 모든 true RDBMS가 빠진 정보와 적용할 수 없는 정보를 지원해야 한다는 요구사항을 충족시키는 역할을 한다. 콧은 또한 데이터베이스 이론에서 Null을 표현하기 위해 그리스어의 오메가의 소문자(ω)를 이용할 것을 도입했다. NULL은 또한 SQL에서 Null 특수 표시를 구분하기 위해 사용되는 유보된 키워드이다. [위키백과]

IE 표기법에서는 Null 허용여부를 알 수 없지만, 바커 표기법에서는 속성 앞에 동그라미 기호를 통해서 Null 허용 속성임을 표기할 수 있습니다.

SQL 전문가 가이드

1.2 NULL 값은 연산은 NULL

SELECT 1000 - NULL FROM DUAL;
-- ret: NULL
SELECT NVL(1000 - NULL, 0) FROM DUAL;
-- ret: 0

NULL 값으로 가능한 연산은 IS NULL, IS NOT NULL 밖에 없습니다.

1.3 집계함수와 NULL

  • 집계함수는 Null 값을 제외하고 연산합니다.
SELECT SUM(A)
FROM (
    SELECT 1000 AS A FROM DUAL
    UNION ALL
    SELECT NULL AS A FROM DUAL
);
-- ret: 1,000



References
SQL 전문가 가이드(2020 개정판)
https://dataonair.or.kr
https://www.wikipedia.org