다음 SQL의 실행 결과 행 수는?[영화]영화번호제목관람등급1파도122… | [SQLD] SQL 개발자 기출유형 모의고사 9회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 9회
다음 SQL의 실행 결과 행 수는?[영화]
| 영화번호 | 제목 | 관람등급 |
|---|---|---|
| 1 | 파도 | 12 |
| 2 | 여름밤 | 19 |
| 3 | 유리새 | (null) |
| 4 | 서울역 | 15 |
| 5 | 모래성 | (null) |
| 6 | 달무리 | 전체 |
SELECT 영화번호, 제목
FROM 영화
WHERE NOT (관람등급 = '19')
OR 관람등급 = NULL
ORDER BY 영화번호;1
6
2
2
3
3
4
5
해설
관람등급이 NULL 인 행은
관람등급 = '19'가 UNKNOWN 이고 NOT 을 붙여도 UNKNOWN 이며,= NULL비교 역시 항상 UNKNOWN 이라 제외된다.결국 등급이 있고 19가 아닌 파도·서울역·달무리 3행만 남으며, NULL 행을 찾으려면 IS NULL 을 써야 한다.
- = NULL 이 NULL 행을 찾는다고 보면 5행이 되지만 결과는 없다.
- NULL 비교를 참으로 보아 모든 행이 나온다고 보면 6행이다.
- 문자 '전체'도 '19'와 다른 값이므로 빠지지 않아 2행이 아니다.
오류나 개정된 내용이 보이면 알려주세요