SQLDSQL 활용NOT IN난이도 3MCQ

SQLD NOT IN 기출문제 #3692

문제

다음 중 A 결과와 B 결과가 다른 것으로 가장 적절한 것은?

① A: UNION, B: DISTINCT를 사용한 UNION 결과 ② A: INNER JOIN, B: 조인 조건을 WHERE 절에 작성한 등가 조인 ③ A: NOT EXISTS, B: NULL이 포함된 NOT IN ④ A: COUNT(*), B: COUNT(1)

정답

3

해설

정답: 3. NOT EXISTS와 NOT IN은 서브쿼리 결과에 NULL이 포함될 때 결과가 달라질 수 있다.

오답 풀이

  • 1번: UNION은 기본적으로 중복을 제거한다.
  • 2번: 같은 등가 조인 조건이라면 결과가 같을 수 있다.
  • 3번: NULL이 포함된 NOT IN은 UNKNOWN으로 인해 NOT EXISTS와 달라질 수 있다.
  • 4번: COUNT(*)와 COUNT(1)은 일반적으로 전체 행 수를 센다.

보충 개념 NOT IN은 비교 목록에 NULL이 있으면 결과가 반환되지 않는 문제가 생길 수 있다. NULL 가능성이 있는 반집합 연산에는 NOT EXISTS가 안전한 경우가 많다.

SQLD 시험 준비 가이드

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

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

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