[ Undefined VS Unknown ]
- Undefined : 해당 값을 정의 할 수 없다는 뜻. 즉, 값이 NULL인 것이 자연스러운 상태를 의미한다.
- Unknown : 어떠한 값이 들어가야 하는 것이 맞지만 아무것도 들어가 있지 않은 경우를 의미한다. 즉, 어떠한 값이 들어가 있어야 하는 것이 맞지만 어떠한 값을 넣어주어야 할 지 몰라서 값 대신 NULL로 표현 한 상태를 의미한다.
[ NULL값이 있는 Tuple을 사용 할 때는 항상 유의 해야 한다 ]
위의 예제를 보게 되면 aggregation function을 사용하여 갯수를 구했을 때는 7이 나오지만
실제로 반환되는 tuple들을 보게 되면 NULL을 포함하여 8개의 tuple이 반환되는 것을 알 수 있다.
위의 사례는 NULL로 인해 발생 할 수 있는 예상치 못한 결과의 사례들중 하나이다.
즉, 더 많은 예상치 못한 결과들이 NULL값에 의해서 발생할 수 있기 때문에 NULL 이 들어있는 tuple들은 조심스럽게 사용해야 한다.
'CS fundamentals > DB( 데이터 베이스 )' 카테고리의 다른 글
Relational Design Theory [ Overview ] (0) | 2020.10.05 |
---|---|
SQL - GROUP BY / AGGREGATION 기본 개념 (0) | 2020.10.03 |
SQL - JOIN 기본 개념 (0) | 2020.10.02 |
Subqueries in WHERE ( PostgreSQL 기준 ) (0) | 2020.10.02 |