학생, 수강 테이블에 대해 다음 질의문의 결과에 포함되는 학번으로 가장… | [경찰간부후보생 데이터베이스론] 26년 1회차 기출문제 상세 페이지
1[경찰간부후보생 데이터베이스론] 26년 1회차
학생, 수강 테이블에 대해 다음 질의문의 결과에 포함되는 학번으로 가장 적절한 것은?
<학생> <수강>
| 학번 | 학번 | |
| 1 | 1 | |
| 2 | NULL | |
| 3 |
| SELECT 학번 FROM 학생 WHERE 학번 NOT IN (SELECT 학번 FROM 수강); |
1
1
2
2, 3
3
1, 2, 3
4
없음
해설
서브쿼리 결과에 NULL이 있어 어떤 행도 조건을 참으로 만들지 못하므로 결과는 없다.
NOT IN (1, NULL)은 학번 <> 1 AND 학번 <> NULL과 같다. NULL과의 비교는 UNKNOWN이므로 전체가 참이 될 수 없다.
- 학번 1만 나온다는 결과: 수강에 있는 값이어서 해당 비교가 거짓이 되므로 제외된다.
- 학번 2, 3이 나온다는 결과: NULL을 무시한 결과이며, 실제로는 조건이 UNKNOWN이 되어 선택되지 않는다.
- 학번 전체가 나온다는 결과: 조건이 참인 행이 없으므로 전체 행이 나올 수 없다.
오류나 개정된 내용이 보이면 알려주세요