[MySQL] JOIN 문법, left join, left outer join, inner join

원본 글

헷갈리는 SQL JOIN문 정리합니다!

DB를 사용하다보면 join을 사용해야 할 경우가 많은데 오랫동안 사용하지 않으면 또 까먹기 마련입니다.

코딩 테스트에도 자주 등장하는 SQL JOIN에 대해서 이번 기회에 정리해 봅니다!

이 글은 MySQL DB를 기준으로 작성했습니다.

https://blog.kakaocdn.net/dn/bIKB3O/btrDpOU3mD0/sphe4EKKCh797wQwJPJrD1/img.png

SQL join 문이 가장 잘 정리 되어 있는 그림인 것 같습니다.

join: 동일한 column을 기준으로 테이블을 하나로 합칩니다.

🧐 left(right) join 과 left(right) outer join의 차이점

실행 결과는 동일 합니다.

left join의 경우 동일한 column으로 하나로 합쳐지고 left 쪽(A)의 모든 데이터를 포함하고 B의 데이터는 null로 표시 됩니다.

A 테이블 예시

B 테이블 예시

left join 결과

A LEFT JOIN B

SELECT * from A left join B on A.id = B.id;

id를 기준으로 A 테이블의 손상 없이 두 테이블을 합칩니다.

B 테이블에 존재하지 않는 id의 데이터는 null로 표시됩니다.