다음 SQL의 실행 결과로 옳은 것은?[상영]상영번호시작시1921031… | [SQLD] SQL 개발자 기출유형 모의고사 9회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 9회
다음 SQL의 실행 결과로 옳은 것은?[상영]
| 상영번호 | 시작시 |
|---|---|
| 1 | 9 |
| 2 | 10 |
| 3 | 15 |
| 4 | 22 |
| 5 | 23 |
| 6 | (null) |
[요금구간]
| 구간명 | 시작 | 끝 |
|---|---|---|
| 조조 | 7 | 10 |
| 일반 | 10 | 22 |
| 심야 | 23 | 27 |
SELECT S.상영번호, G.구간명 FROM 상영 S, 요금구간 G WHERE S.시작시 >= G.시작 AND S.시작시 < G.끝 ORDER BY S.상영번호;
1
| 상영번호 | 구간명 |
|---|---|
| 1 | 조조 |
| 3 | 일반 |
| 5 | 심야 |
2
| 상영번호 | 구간명 |
|---|---|
| 1 | 조조 |
| 2 | 조조 |
| 2 | 일반 |
| 3 | 일반 |
| 5 | 심야 |
3
| 상영번호 | 구간명 |
|---|---|
| 1 | 조조 |
| 2 | 일반 |
| 3 | 일반 |
| 5 | 심야 |
4
| 상영번호 | 구간명 |
|---|---|
| 1 | 조조 |
| 2 | 일반 |
| 3 | 일반 |
| 4 | 일반 |
| 5 | 심야 |
해설
조건이 시작 이상·끝 미만이라 10시는 조조(끝 10)가 아닌 일반에만, 22시는 일반(끝 22)에도 심야(시작 23)에도 들지 않아 빠진다.
시작시가 NULL 인 상영번호 6은 비교가 UNKNOWN 이라 NON-EQUI 조인 결과에 없고, 최종 4행이 남는다.
- 끝값까지 포함해야 10시가 조조와 일반 두 곳에 매칭되지만 < 는 끝을 뺀다.
- 10시는 일반의 시작값과 같아 >= 조건을 만족하므로 빠지지 않는다.
- 22시는 일반의 끝값과 같아 < 조건에서 탈락한다.
오류나 개정된 내용이 보이면 알려주세요