합격 후기 작성하고 2,000원 쿠폰 받아가세요! (게시글 탭 → 합격후기)

SQL 개발자 자격증SQL 활용NOT IN난이도 4MCQ

SQL 개발자 자격증 NOT IN 기출문제 #3592

문제

두 테이블의 데이터가 아래와 같을 때 결과 값(반환된 행의 COL2 합)으로 옳은 것은?

COL1COL2
A10
B20
C30

COL1COL2
A20
B20
CNULL

① 0 ② 10 ③ 20 ④ 40

정답

2

해설

다중 컬럼 NOT IN은 후보 행과의 행 단위 동등 비교의 OR를 부정한 것으로, 단일 컬럼과 동작이 다르다.

(A, 10): (C,NULL)과 비교 시 첫 컬럼 A=C가 FALSE이므로 'FALSE AND UNKNOWN = FALSE'로 확정 → 세 비교 모두 FALSE → NOT IN이 TRUE → 반환 (B, 20): (B,20)과 정확히 일치 → IN이 TRUE → 제외 (C, 30): (C,NULL)과 비교 시 C=C가 TRUE라서 'TRUE AND UNKNOWN = UNKNOWN' → NOT IN이 UNKNOWN → 제외

따라서 결과는 (A, 10) 한 건뿐이고 COL2 합은 10이다. 'NULL이 있으면 NOT IN은 무조건 0건'이라는 함정은 첫 컬럼이 일치하는 행에만 적용된다. 오답 풀이

①: 0은 '단일 컬럼 NOT IN + NULL은 항상 0건'이라는 함정을 다중 컬럼에 잘못 적용한 오답. 첫 컬럼이 불일치하는 (A,10)은 정상 반환된다. ③: 20은 (B,20)이 반환된다는 잘못된 가정의 값. (B,20)은 일치하여 제외된다. ④: 40은 (A,10)+(C,30) 두 행이 모두 반환된다는 가정의 값이나, (C,30)은 UNKNOWN으로 제외된다.

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

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

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

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