다음 SQL 의 실행 결과로 옳은 것은?[상영]상영번호관번호시작시각20… | [SQLD] SQL 개발자 기출유형 모의고사 9회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 9회
다음 SQL 의 실행 결과로 옳은 것은?[상영]
| 상영번호 | 관번호 | 시작시각 |
|---|---|---|
| 201 | 1 | 10:00 |
| 202 | 2 | 13:00 |
| 203 | (null) | 15:00 |
| 204 | 1 | 18:00 |
[상영관]
| 관번호 | 관이름 |
|---|---|
| 1 | 1관 |
| 2 | 2관 |
| 3 | IMAX |
SELECT * FROM 상영 JOIN 상영관 USING (관번호) ORDER BY 상영번호;
1
| 상영번호 | 관번호 | 시작시각 | 관이름 |
|---|---|---|---|
| 201 | 1 | 10:00 | 1관 |
| 202 | 2 | 13:00 | 2관 |
| 204 | 1 | 18:00 | 1관 |
2
| 관번호 | 상영번호 | 시작시각 | 관이름 |
|---|---|---|---|
| 1 | 201 | 10:00 | 1관 |
| 2 | 202 | 13:00 | 2관 |
| (null) | 203 | 15:00 | (null) |
| 1 | 204 | 18:00 | 1관 |
3
| 상영번호 | 관번호 | 시작시각 | 관번호 | 관이름 |
|---|---|---|---|---|
| 201 | 1 | 10:00 | 1 | 1관 |
| 202 | 2 | 13:00 | 2 | 2관 |
| 204 | 1 | 18:00 | 1 | 1관 |
4
| 관번호 | 상영번호 | 시작시각 | 관이름 |
|---|---|---|---|
| 1 | 201 | 10:00 | 1관 |
| 2 | 202 | 13:00 | 2관 |
| 1 | 204 | 18:00 | 1관 |
해설
USING 으로 조인하면 공통 열 관번호가 결과에 한 번만, 맨 앞에 나오고 나머지 열은 상영·상영관 순으로 이어진다.
INNER 조인이므로 관번호가 NULL 인 203 은 짝이 없어 빠지고, 상영이 없는 IMAX 도 나오지 않아 3행이다.
- 관번호가 상영 테이블 순서대로 두 번째에 오는 표는 공통 열의 위치를 잘못 본 것이다.
- 203 이 NULL 로 남은 표는 OUTER JOIN 결과이다.
- 관번호가 두 번 나오는 표는 ON 절 조인의 SELECT * 결과이다.
오류나 개정된 내용이 보이면 알려주세요