SQL

[SQL] SQL의 NULL

bornsoon 2024. 9. 26. 16:48


SELECT last_name, salary, commission_pct
FROM employees
WHERE commission_pct = NULL;  --> 결과값 아무것도 안나옴
---------------------------------------------------------------------------------------------
SELECT last_name, salary, commission_pct
FROM employees
WHERE commission_pct IS NULL

=========================================================================

 

NULL이란? 

  • Absence of Value
  • 값의 부재: 값 자체가 없는 상태 (Unavailable, Inapplicable, Unassigned, Unknown)
  • NOT zero, NOT space  ( 0은 숫자, 공백은 하나의 문자이다.)

※ 1000 + NULL = NULL  ( NULL은 연산 불가능!!!!! >> 결과도 NULL! )

 

※ 단, 집계합수의 연산에서는 NULL값에 해당하는 행은 연산에서 제외된다.

 (예: 평균값을 계산하는 AVG함수에서는 분자에도 분모에도 아예 포함되지 않고 제외되서 계산된다.)

 

※ GROUP BY에서는 NULL값이 있으면 NULL값에 해당하는 행들은 하나의 그룹으로 집계된다.

 

 


NULL의 논리 연산

  • AND
AND TRUE FALSE NULL
TRUE T F NULL
FALSE F F F
NULL NULL F NULL

 

  • OR
OR TRUE FALSE NULL
TRUE T T T
FALSE T F NULL
NULL T NULL NULL

 

  • NOT
TRUE FALSE NULL
F T NULL

 

728x90