SQLDSQL 기본난이도 2MCQ

SQLD SQL 기본 기출문제 #1327

문제

다음 SQL의 결과는?

SQL
SELECT * FROM MEMBER WHERE STATUS NOT IN ('ACTIVE', 'PENDING', NULL);

① STATUS가 'ACTIVE', 'PENDING', NULL이 아닌 행들만 반환 ② STATUS가 'ACTIVE', 'PENDING'이 아닌 행들만 반환 (NULL 행 제외) ③ 모든 행이 반환됨 ④ 아무 행도 반환되지 않음

정답

4

해설

NOT IN 절에 NULL이 포함되어 있으면, 어떤 값도 조건을 만족할 수 없다. NOT IN은 모든 값과 다르다는 조건인데, NULL과의 비교는 항상 UNKNOWN이 되어 전체 조건이 FALSE가 된다. ①②③은 모두 NOT IN에 NULL이 포함된 경우의 특수한 동작을 간과한 것이다.

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

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

[SQLD] SQL 기본 기출 #1327 | sqldpass