문제
다음 SQL의 실행 결과는?
SQLSELECT COUNT(*) FROM CUSTOMERS WHERE REGION NOT IN ('서울', '부산', NULL);
① 서울, 부산이 아닌 모든 행의 개수 ② 서울, 부산, NULL이 아닌 모든 행의 개수 ③ 0 ④ 전체 행의 개수
정답
3번
해설
③이 정답입니다. NOT IN 절에 NULL이 포함되면 항상 결과가 FALSE 또는 UNKNOWN이 되어 어떤 행도 반환되지 않습니다. ①②NOT IN에 NULL이 있으면 3VL 논리에 의해 모든 비교가 UNKNOWN이 됩니다. ④전체 행이 반환되지 않습니다.