문제
다음 SQL의 결과 건수로 가장 적절한 것은?
SQL[제품] 가격: 1000, 2000, 3000 [할인] 가격: 1000, NULL SELECT * FROM 제품 WHERE 가격 IN (SELECT 가격 FROM 할인);
① 0건 ② 1건 ③ 2건 ④ 3건
정답
2번
해설
② 1건이 정답입니다. IN 연산자는 서브쿼리 결과에 NULL이 포함되어 있어도 NULL이 아닌 값들과는 정상적으로 비교합니다. 제품 테이블의 가격 1000이 할인 테이블의 1000과 일치하므로 1건이 반환됩니다. NOT IN의 경우에만 NULL로 인해 문제가 발생합니다.