→ 컬럼에 공백으로 보이는 것은 NULL로 생각해야 함 . 이 때, NULL을 포함한 연산결과는 NULL이 리턴됨(NULL을 사전 치환하면 연산 가능)
→ SUM, AVG, MIN, MAX 등의 함수는 항상 NULL을 무시함. NULL일 경우 제외되고 NOT NULL인 행만 세어서 리턴함
*** 출제
ISNULL함수는 결과값이 NULL일 경우 지정된 값을 반환한다.
칼럼의 NULL값을 확인할 때는 ISNULL을 사용해야 한다.
SELECT COUNT(COL1) FROM TAB1 WHERE COL2 = NULL --> 이 WHERE절은 잘못되어있다.
NULL 비교는 오직 IS NULL, IS NOT NULL로만 가능
NULL의 ERD 표기법과 바커 표기
NVL 함수는 칼럼의 값이 NULL인 경우 특정 값으로 치환하기 위해서 사용한다.
NVL2 함수는 칼럼의 값이 NULL인 경우와 NULL이 아닌 경우 두 가지 케이스 모두 특정 값을 반환할 수 있다.
NVL 함수는 NULL인 경우 단순 기본값을 부여하기 위해서 자주 사용하며, NVL2 함수는 NULL을 기준으로 If ~ else ~와 같이 판단하여 특정 값을 반환할 수 있다.
NVL2 함수는 NULL이 아닌 경우 지정값1을 출력하고, NULL인 경우 지정값2를 출력한다.
표현식1 = 표현식2 → 표현식3 , 아니면 NULL