문제
다음 SQL의 결과 건수는?
[CUSTOMER] STATUS: 'ACTIVE','INACTIVE',NULL,'PENDING','ACTIVE',NULL
① 2건 ② 3건 ③ 4건 ④ 5건
정답
3번
해설
STATUS 값별 조건 평가: 'ACTIVE'는 STATUS <> 'ACTIVE'이 FALSE이고 STATUS IS NULL도 FALSE이므로 OR 결과 FALSE. 'INACTIVE'는 STATUS <> 'ACTIVE'이 TRUE이므로 OR 결과 TRUE. NULL은 STATUS <> 'ACTIVE'이 UNKNOWN이지만 STATUS IS NULL이 TRUE이므로 OR 결과 TRUE. 'PENDING'은 STATUS <> 'ACTIVE'이 TRUE이므로 OR 결과 TRUE. 따라서 'INACTIVE', NULL(2개), 'PENDING' 총 4건이 선택됩니다. ①②는 NULL 처리를 잘못 이해한 경우, ④는 'ACTIVE'도 포함시킨 경우입니다.