
255
10
장
조인 심화
지금쯤이면
5
장에서 소개한 내부 조인의 개념을 이해하고 있어야 합니다.
10
장에서는 외부 조
인과 교차 조인을 포함해서 테이블을 조인할 수 있는 다른 방법을 중점적으로 다룹니다.
10.1
외부 조인
지금까지 살펴본 여러 테이블을 포함하는 모든 예제에서, 조인 조건이 테이블의 모든 행
에서 일치하는 항목을 찾지 못할 수도 있다는 점에는 관심을 두지 않았습니다. 예를 들어
inventory
테이블에는 대여 가능한 모든 영화의 데이터가 포함되어 있지만
film
테이블에 있
는
1
,
000
개의 행 중
958
개만
inventory
테이블에 하나 이상의 행을 가지고 있습니다. 다른
42
편의 영화는 대여할 수 없으므로 (아마도 며칠 후에 도착할 예정인 신작) 이러한 영화
ID
는
inventory
테이블에서 찾을 수 없습니다. 다음 쿼리는 이 두 테이블을 조인해서 각 영화의 대
여 가능한 사본 수를 계산합니다.
mysql> SELECT f.film_id, f.title, count(*) num_copies
-> FROM film f
-> INNER JOIN inventory i
-> ON f.film_id = i.film_id
-> GROUP BY f.film_id, f.title;
조인 심화
CHAPTER
10