문제
다음 SQL의 실행 결과는?
SQL직원테이블: 사번 (100, 200, 300) 부서테이블: 사번 (100, NULL) SELECT * FROM 직원 WHERE 사번 IN (SELECT 사번 FROM 부서);
① 0건
② 1건
③ 2건
④ 3건
정답
2번
해설
IN 연산자는 서브쿼리에 NULL이 포함되어 있어도 NULL이 아닌 값들과의 비교는 정상적으로 수행됩니다. 사번 100이 부서테이블에 존재하므로 해당 행이 결과로 반환됩니다. NOT IN의 경우에만 NULL 포함 시 0건이 반환됩니다.