앞 문제에서는 조인을 사용해 캐릭터 이름과 배우를 짝지었습니다. INNER JOIN을 “내부 조인”이라고 부르는 이유는 캐릭터 이름과 배우 양쪽 모두에 데이터가 있는 행만 반환하기 때문입니다.
하지만 배우 이름에 대응하는 데이터가 없더라도 모든 캐릭터 이름을 얻고 싶을 수 있습니다. LEFT JOIN은 첫 번째(즉 “왼쪽”) 테이블의 데이터를 모두 반환하고, 두 번째 테이블에 대응하는 데이터가 없으면 해당 컬럼에 NULL을 반환합니다.
캐릭터 이름과 프로그램을 레프트 조인하면 다음과 같습니다.
SELECT character.name, tv_show.name
FROM character
LEFT JOIN character_tv_show
ON character.id = character_tv_show.character_id
LEFT JOIN tv_show
ON character_tv_show.tv_show_id = tv_show.id;
레프트 조인을 사용해 캐릭터 이름과 그를 연기하는 배우를 짝지을 수 있나요? 다음 컬럼을 선택하세요: character.name, actor.name
참고: 다른 SQL 방언에는 RIGHT JOIN과 OUTER JOIN이 있지만 SQLite에는 없습니다.