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
'SQL' 카테고리의 다른 글
[SQL] 외부 조인 주의해야할 점 (0) | 2024.09.30 |
---|---|
[SQL] 조건부 표현식 CASE, DECODE(오라클 전용) (2) | 2024.09.27 |
[Oracle] 날짜 포맷 형식 (0) | 2024.09.26 |
[SQL] 연산자 우선 순위 (0) | 2024.09.26 |
[SQL] ROWNUM로 일련 번호 같이 출력하기 (1) | 2024.09.26 |