SQLDSQL 활용NOT EXISTS난이도 2MCQ

SQLD NOT EXISTS 기출문제 #3641

문제

계약이 없는 고객을 찾는 SQL로 가장 적절한 것은?

① SELECT * FROM 고객 C WHERE EXISTS (SELECT 1 FROM 계약 K WHERE K.고객ID = C.고객ID) ② SELECT * FROM 고객 C WHERE NOT EXISTS (SELECT 1 FROM 계약 K WHERE K.고객ID = C.고객ID) ③ SELECT * FROM 고객 C WHERE 고객ID = NULL ④ SELECT * FROM 고객 C WHERE 계약ID IS NOT NULL

정답

2

해설

정답: 2. 계약 테이블에 해당 고객의 계약이 존재하지 않는 고객을 찾으려면 NOT EXISTS를 사용한다.

오답 풀이

  • 1번: 계약이 있는 고객을 찾는다.
  • 2번: 계약이 없는 고객을 찾는다.
  • 3번: NULL 비교는 = NULL이 아니라 IS NULL을 사용해야 하며 의미도 다르다.
  • 4번: 고객 테이블에 계약ID가 있다는 전제가 없고 계약이 있는 경우에 가깝다.

보충 개념 NOT EXISTS는 상관 서브쿼리 결과가 존재하지 않을 때 TRUE가 된다. 미존재 데이터를 찾을 때 자주 사용된다.

SQLD 시험 준비 가이드

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

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

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