본문 바로가기

CS fundamentals/DB( 데이터 베이스 )

SQL - NULL 기본 개념

[ Undefined VS Unknown ] 

  • Undefined : 해당 값을 정의 할 수 없다는 뜻. 즉,  값이 NULL인 것이 자연스러운 상태를 의미한다.
  • Unknown : 어떠한 값이 들어가야 하는 것이 맞지만 아무것도 들어가 있지 않은 경우를 의미한다. 즉, 어떠한 값이 들어가 있어야 하는 것이 맞지만 어떠한 값을 넣어주어야 할 지 몰라서 값 대신  NULL로 표현 한 상태를 의미한다.

[ NULL값이 있는 Tuple을 사용 할 때는 항상 유의 해야 한다 ]

위의 예제를 보게 되면 aggregation function을 사용하여 갯수를 구했을 때는 7이 나오지만

 

실제로 반환되는 tuple들을 보게 되면  NULL을 포함하여 8개의 tuple이 반환되는 것을 알 수 있다.

 

위의 사례는 NULL로 인해 발생 할 수 있는 예상치 못한 결과의 사례들중 하나이다.

 

즉, 더 많은 예상치 못한 결과들이  NULL값에 의해서 발생할 수 있기 때문에  NULL 이 들어있는 tuple들은 조심스럽게 사용해야 한다.