SQL 개발자 자격증SQL 활용NOT EXISTS 상관 서브쿼리난이도 2MCQ

SQL 개발자 자격증 NOT EXISTS 상관 서브쿼리 기출문제 #21855

문제

다음 두 테이블에 대해 아래 SQL을 실행한 결과로 옳은 것은?

[상품]

상품ID
1
2
3

[주문]

상품ID
3

① 1 ② 1, 2 ③ (공집합) ④ 오류 발생

정답

2

해설

NOT EXISTS 는 상관 서브쿼리가 한 건도 반환하지 않을 때 참이 되어 바깥 행을 남긴다. 상품ID 1·2 는 [주문]에 대응 행이 없어 서브쿼리가 공집합 → NOT EXISTS 참 → 결과에 포함. 상품ID 3 은 [주문]에 존재해 서브쿼리가 행을 반환 → NOT EXISTS 거짓 → 제외. 따라서 결과는 1, 2. → 정답 ②. ① 1만 나오는 경우는 없다(2도 대응 주문이 없음). ③ 공집합이 되려면 모든 상품이 주문에 있어야 한다. ④ 문법상 정상 실행된다. NOT IN 과 달리 NOT EXISTS 는 NULL 이 섞여도 예기치 않게 전체가 걸러지지 않는다는 점도 함께 기억해 둘 것.

SQL 개발자 자격증 SQL 활용 다른 기출문제

SQL 개발자 자격증 시험 준비 가이드

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

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