SQLDSQL 활용난이도 3MCQ

SQLD SQL 활용 기출문제 #1193

문제

다음 NOT EXISTS를 NOT IN으로 변환할 때 가장 주의해야 할 사항은?

SQL
SELECT 사원번호 FROM 사원 A WHERE NOT EXISTS ( SELECT 1 FROM 휴가신청 B WHERE A.사원번호 = B.사원번호 AND B.승인상태 = 'Y' );

① NOT IN 서브쿼리에서 DISTINCT를 반드시 사용해야 함 ② NOT IN 서브쿼리 결과에 NULL이 포함되면 예상과 다른 결과 발생 ③ NOT IN은 상관 서브쿼리로 변환할 수 없음 ④ NOT IN 서브쿼리에는 WHERE 조건을 포함할 수 없음

정답

2

해설

②가 정답입니다. NOT IN에서 서브쿼리 결과에 NULL이 포함되면, NULL과의 비교는 UNKNOWN이 되어 전체 결과가 공집합이 될 수 있습니다. NOT EXISTS는 NULL에 영향받지 않으므로 변환 시 주의가 필요합니다. ①DISTINCT는 필수가 아니며, ③상관 서브쿼리 변환이 불가능한 것은 아니고, ④WHERE 조건 포함은 가능합니다.

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[SQLD] SQL 활용 기출 #1193 | sqldpass