SQLDSQL 활용NOT IN난이도 3MCQ

SQLD NOT IN 기출문제 #3758

문제

다음 중 NOT IN과 NOT EXISTS에 대한 설명으로 적절하지 않은 것은?

① NOT EXISTS는 상관 서브쿼리에서 조건을 만족하는 행이 없을 때 TRUE가 된다. ② NOT IN은 서브쿼리 결과에 NULL이 포함되면 의도와 다른 결과가 나올 수 있다. ③ 서브쿼리 결과에 NULL이 없고 비교 컬럼도 NULL이 아니라면 NOT IN을 NOT EXISTS로 바꿔도 같은 결과를 얻을 수 있다. ④ 서브쿼리 결과가 NULL을 포함해도 NOT IN과 NOT EXISTS의 결과는 항상 동일하다.

정답

4

해설

정답: 4. NOT IN은 비교 목록에 NULL이 포함되면 UNKNOWN 때문에 결과가 달라질 수 있어 NOT EXISTS와 항상 동일하지 않다.

오답 풀이

  • 1번: NOT EXISTS의 올바른 설명이다.
  • 2번: NOT IN의 NULL 관련 주의점이다.
  • 3번: NULL이 배제된 경우 두 방식이 같은 결과를 낼 수 있다.
  • 4번: NULL 포함 시 항상 동일하다는 설명은 틀리다.

보충 개념 NOT IN (subquery)는 서브쿼리 결과에 NULL이 있으면 비교 결과가 UNKNOWN이 되어 행이 반환되지 않을 수 있다. NULL 가능성이 있으면 NOT EXISTS가 더 안전한 경우가 많다.

SQLD 시험 준비 가이드

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

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

[SQLD] NOT IN SQL 활용 기출 #3758 | 문어CBT