다음 SQL 의 실행 결과로 옳은 것은?[영화]영화번호제목장르1파도액션… | [SQLD] SQL 개발자 기출유형 모의고사 9회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 9회
다음 SQL 의 실행 결과로 옳은 것은?[영화]
| 영화번호 | 제목 | 장르 |
|---|---|---|
| 1 | 파도 | 액션 |
| 2 | 정원 | 드라마 |
| 3 | 추적 | 액션 |
| 4 | 별빛 | 애니 |
[상영]
| 상영번호 | 영화번호 | 관번호 |
|---|---|---|
| 101 | 1 | 1 |
| 102 | 1 | 2 |
| 103 | 2 | 1 |
| 104 | 4 | 3 |
SELECT M.제목, S.상영번호
FROM 영화 M
LEFT OUTER JOIN 상영 S
ON M.영화번호 = S.영화번호
AND M.장르 = '액션'
ORDER BY M.영화번호, S.상영번호;1
| 제목 | 상영번호 |
|---|---|
| 파도 | 101 |
| 파도 | 102 |
| 정원 | (null) |
| 추적 | (null) |
| 별빛 | (null) |
2
| 제목 | 상영번호 |
|---|---|
| 파도 | 101 |
| 파도 | 102 |
| 추적 | (null) |
3
| 제목 | 상영번호 |
|---|---|
| 파도 | 101 |
| 파도 | 102 |
| 정원 | 103 |
| 추적 | (null) |
| 별빛 | 104 |
4
| 제목 | 상영번호 |
|---|---|
| 파도 | 101 |
| 파도 | 102 |
해설
LEFT OUTER JOIN 의 ON 절 조건은 결합 여부만 정하므로, 왼쪽 테이블에 건
M.장르 = '액션'도 영화 행을 거르지 않고 매칭만 막는다.액션인 파도는 101·102 와 결합하고, 상영이 없는 추적과 액션이 아닌 정원·별빛은 상영번호가 NULL 인 한 행씩 남아 5행이 된다.
- 3행 표는 장르 조건을 WHERE 절에 둔 결과로, 정원·별빛이 빠진다.
- 정원 103·별빛 104 가 붙은 표는 장르 조건을 무시한 결과이다.
- 2행 표는 INNER JOIN 처럼 결합된 행만 남긴 결과이다.
오류나 개정된 내용이 보이면 알려주세요