SQL, 데이터 분석!

SQL, 데이터 분석!

바로 보고 실습하는 SQL, 입문부터 활용까지!

13 LEFT 조인

# LEFT 조인 ## 미션 --- ![홍팍-SQL-테이블-조인-샘플-DB](http://drive.google.com/uc?export=view&id=1TzET7IFVFEID3pdgEgh9bVjLpBTlZM0-) LEFT 조인을 사용하여 다음 정보를 조회하시오. - A. 모든 사진의 "파일명"을 조회하시오. 단, 게시자 정보가 있다면 "닉네임"도 함께 가져올 것. - B. 모든 댓글의 "내용"을 조회하시오. 단, 댓글이 달린 사진 정보가 있다면 "파일명"도 함께 가져올 것. ## 개념 --- #### LEFT 조인이란 좌측 테이블 데이터에 추가로 우측 정보를 조인하는 문법이다. LEFT 조인은 다양한 조인들 중 가장 많이 사용된다. ![홍팍-SQL-LEFT-조인-개념](http://drive.google.com/uc?export=view&id=1UYuP-GwUKFB86Lz7s6TXx4o_9ATFbUqM) #### INNER 조인 vs LEFT 조인 INNER 조인의 경우 양측 모두에 존재하는 것만 결과로 만든다. 반면 LEFT 조인은 좌측 테이블 중 조인 불가능한 것들도 모두 결과로 만든다. 이때, 조인 불가능한 우측 테이블은 값은 NULL로 채워진다. ![홍팍-SQL-INNER-조인과-LEFT-조인-비교](http://drive.google.com/uc?export=view&id=1UbDheDDLPpgdd27IDMqdeEKdiZT8iXTh) #### LEFT 조인 결과 LEFT 조인을 간단히 정리하면 다음과 같다. "모든 좌측 테이블을 가져오는데, 조인 가능한 것은 붙이고, 조인 불가능한 것은 NULL로 채운다!" ![홍팍-SQL-LEFT-조인-요약](http://drive.google.com/uc?export=view&id=1UZoAyAnskBuxT8lcWQq7WiKwr7RAGI6S) ## 실습 --- #### A. 모든 사진의 "파일명"을 조회, 게시자 "닉네임"은 옵션 ``` SELECT photos.filename, users.nickname FROM photos LEFT JOIN users ON users.id = photos.user_id ; ``` #### B. 모든 댓글의 "내용"을 조회, 댓글이 달린 사진 "파일명"은 옵션 ``` SELECT comments.body, photos.filename FROM comments LEFT JOIN photos ON photos.id = comments.photo_id ; ```