SQLDSQL 활용NOT EXISTS난이도 2MCQ

SQLD NOT EXISTS 기출문제 #3687

문제

회원 테이블과 주문이력 테이블이 있을 때, 주문을 한 번도 하지 않은 회원을 찾는 SQL로 가장 적절한 것은?

① SELECT * FROM 회원 M WHERE EXISTS (SELECT 1 FROM 주문 O WHERE M.회원ID = O.회원ID) ② SELECT * FROM 회원 M WHERE M.회원ID IN (SELECT 회원ID FROM 주문) ③ SELECT * FROM 회원 M WHERE NOT EXISTS (SELECT 1 FROM 주문 O WHERE M.회원ID = O.회원ID) ④ SELECT * FROM 회원 M, 주문 O WHERE M.회원ID = O.회원ID

정답

3

해설

정답: 3. 주문이 존재하지 않는 회원을 찾으려면 NOT EXISTS를 사용하여 해당 회원의 주문 이력이 없는 경우를 조회한다.

오답 풀이

  • 1번: 주문한 회원을 찾는다.
  • 2번: 주문한 회원을 찾는다.
  • 3번: 주문 이력이 없는 회원을 찾는다.
  • 4번: 회원과 주문을 조인하므로 주문한 회원만 조회된다.

보충 개념 미존재 데이터를 찾을 때는 NOT EXISTS가 자주 사용된다. NOT IN은 서브쿼리 결과에 NULL이 포함될 때 예상과 다른 결과가 나올 수 있다.

SQLD 시험 준비 가이드

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

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

[SQLD] NOT EXISTS SQL 활용 기출 #3687 | 문어CBT