문제
다음 SQL에서 반환되는 행은?
SQLSELECT * FROM PRODUCTS WHERE CATEGORY NOT IN ('Electronics', 'Books', NULL);
① Electronics, Books가 아닌 모든 행 ② Electronics, Books, NULL이 아닌 모든 행 ③ 어떤 행도 반환되지 않음 ④ 오류 발생
정답
3번
해설
NOT IN에 NULL이 포함되면 항상 결과가 FALSE 또는 UNKNOWN이 됩니다. CATEGORY가 'Electronics'나 'Books'가 아니더라도, NULL과의 비교는 UNKNOWN을 반환하고, NOT UNKNOWN은 여전히 UNKNOWN이므로 WHERE 조건을 만족하지 못해 어떤 행도 반환되지 않습니다.