문제
다음 SQL의 결과 건수는?
SQL[DEPT] DEPT_ID: 10, 20, 30 [EMP] DEPT_ID: 10, 20, NULL SELECT * FROM DEPT WHERE DEPT_ID NOT IN (SELECT DEPT_ID FROM EMP);
① 0건 ② 1건 ③ 2건 ④ 3건
정답
1번
해설
NOT IN 서브쿼리 결과에 NULL이 포함되면 모든 비교가 UNKNOWN이 되어 결과는 항상 0건입니다. EMP 테이블의 DEPT_ID에 NULL이 있으므로, DEPT 테이블의 어떤 행도 조건을 만족하지 않습니다. 이런 경우 NOT EXISTS를 사용해야 합니다.