문제
다음 SQL의 실행 결과는?
[EMP] DEPTNO: 10,20,30,NULL [DEPT] DEPTNO: 10,20
SQLSELECT COUNT(*) FROM EMP WHERE DEPTNO NOT IN (SELECT DEPTNO FROM DEPT WHERE DEPTNO IS NOT NULL);
① 0건 ② 1건 ③ 2건 ④ 4건
정답
3번
해설
WHERE DEPTNO IS NOT NULL 조건으로 NULL을 제외하여 (10,20) 반환. NOT IN (10,20)이므로 DEPTNO가 30, NULL인 2건이 조회됩니다. NULL 제거 없이 NOT IN 사용시 0건이지만, IS NOT NULL로 NULL을 명시적 제외했으므로 정상 동작.