SQLDSQL 활용NOT IN난이도 4MCQ

SQLD NOT IN 기출문제 #3592

문제

두 테이블의 데이터가 아래와 같을 때 결과 값으로 옳은 것은?

COL1COL2
A10
B20
C30

COL1COL2
A20
B20
CNULL
SQL
SELECT * FROM TAB1 WHERE (COL1, COL2) NOT IN (SELECT COL1, COL2 FROM TAB2);

① 0 ② 10 ③ 20 ④ 40

정답

1

해설

정답: 1. 다중 컬럼 NOT IN의 하위 질의 결과에 NULL이 포함되면 비교 결과가 UNKNOWN이 되어 결과가 반환되지 않을 수 있다.

오답 풀이

  • 1번: NULL이 포함된 NOT IN 조건으로 인해 조회 결과가 0건이므로 옳다.
  • 2번: 10은 특정 컬럼 값일 뿐 결과 건수로 볼 수 없다.
  • 3번: 20은 특정 컬럼 값일 뿐 결과 건수로 볼 수 없다.
  • 4번: 40은 주어진 데이터에서 도출되지 않는다.

보충 개념 NOT IN은 하위 질의 결과에 NULL이 포함될 때 주의해야 한다. NULL과의 비교는 TRUE/FALSE가 아니라 UNKNOWN이 되므로 의도와 다른 결과가 나올 수 있다.

SQLD 시험 준비 가이드

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

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

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