우리가 데이터를 추출할 때, 필요한 데이터가 한 테이블에만 존재하는 경우가 잘 있지 않다.
실습으로만 할 때는 공부를 위한 데이터들이기 때문에 크게 상관이 없지만 실제 현장에서는 10에 8은 여러 테이블이 존재하고, 그 테이블마다 따로따로 데이터를 얻어와야 한다.
이러한 경우를 위해 우리는 데이터를 불러오는 방법을 알아야 한다.
JOIN은 두 개 이상 테이블을 결합해 데이터를 조회할 때 사용된다.
조인의 종류로는 이너조인, 레프트 조인, 라이트 조인, 풀 아우터 조인 등이 있다.
이너 조인은 두 개 테이블이 있다 할 때, 두 테이블에서 공통된 부분을 가진 행만 결합시키는 것이다.
이너 조인의 기본 구조는
SELECT A.column1, B.column2 FROM TableA A INNER JOIN TableB B ON A.common_column = B.common_column;
레프트 조인은 왼쪽 테이블의 모든 행을 반환하고, 오른쪽 테이블에서 일치하는 행이 있으면 함께 반환한다. 일치하는 행이 없는 경우, 오른쪽 테이블의 열은 NULL로 채워진다.
레트트 조인의 기본 구조는
SELECT A.column1, B.column2 FROM TableA A LEFT JOIN TableB B ON A.common_column = B.common_column;
라이트 조인은 오른쪽 테이블의 모든 행을 반환하고, 왼쪽 테이블에서 일치하는 행이 있으면 함께 반환한다. 일치하는 행이 없는 경우, 왼쪽 테이블의 열은 NULL로 채워진다.
라이트 조인의 기본 구조는
SELECT A.column1, B.column2 FROM TableA A RIGHT JOIN TableB B ON A.common_column = B.common_column;
두 테이블의 모든 행을 반환하고, 일치하는 행이 있으면 함께 반환한다. 일치하는 행이 없는 경우, 다른 테이블의 열은 NULL로 채워진다.
풀 아우터 조인의 기본 구조는
SELECT A.column1, B.column2 FROM TableA A FULL OUTER JOIN TableB B ON A.common_column = B.common_column;
이 외에 크로스 조인, 셀프 조인도 존재한다.