Join은 두 개 이상의 테이블을 서로 연결하여 하나의 결과를 만들어 보여주는 것을 말합니다. 이는 Inner Join(Join)과 Left Outer Join(Left Join) 2가지 종류로 분류됩니다.
Inner Join은 두 테이블 모두 있는 내용에 대하여 조회하는 방식입니다. 이를 벤다이어그램으로 표현하면 다음과 그림과 같습니다.
Left Outer Join은 왼쪽 Table에 대한 내용만 조회하는 방식입니다. 이를 벤다이어그램으로 표현하면 다음 그림과 같습니다.
Inner Join은 두 테이블에 모두 속하고 있는 교집합 부분을 조회하는 것 입니다. 하지만, Left Outer Join은 왼쪽에 위치한 테이블의 행을 기준으로 이와 관련된 정보를 조회합니다. 즉, Left Outer Join의 경우 왼쪽 테이블에 대한 관련 정보가 오른쪽 테이블에 없을 경우 NULL 값이 발생할 수 있습니다.
조인은 여러 테이블을 결합하여 한 번에 데이터를 조회하는 방식으로 성능이 우수하며 최적화가 잘 되어 있습니다. 반면, 서브쿼리는 한 쿼리 안에 또 다른 쿼리를 실행하는 방식으로 가독성은 좋지만, 성능이 떨어질 수 있습니다. 일반적으로, 데이터량이 많을수록 조인을 사용합니다.