문제
다음 SQL의 실행 결과로 가장 적절한 것은?
SQL[PRODUCTS] ID, CATEGORY_ID 1, 10 2, 20 3, NULL [CATEGORIES] ID, NAME 10, 'Electronics' 20, 'Books' SELECT COUNT(*) FROM PRODUCTS P WHERE P.CATEGORY_ID NOT IN ( SELECT C.ID FROM CATEGORIES C WHERE C.NAME LIKE '%Books%' );
① 0건 ② 1건 ③ 2건 ④ 3건
정답
2번
해설
②번이 정답입니다. 서브쿼리 결과는 20 (Books 포함)입니다. NOT IN 조건에서 NULL이 포함되지 않았으므로, CATEGORY_ID가 10인 행(ID=1) 1건만 결과에 포함됩니다. CATEGORY_ID가 NULL인 행(ID=3)은 NOT IN에서 제외되고, CATEGORY_ID가 20인 행(ID=2)도 서브쿼리 결과에 포함되므로 제외됩니다.