조인(join)이란 하나의 테이블이 아닌 두 개 이상의 테이블을 묶어서 하나의 결과물을 만드는 것을 말합니다.
MySQL에서는 JOIN이라는 쿼리로, MongoDB에서는 lookup이라는 쿼리로 이를 처리할 수 있습니다.
SQL JOIN 시각화 사이트 링크 : https://sql-joins.leopard.in.ua/
앞으로 설명할 때 왼쪽 테이블은 A, 오른쪽 테이블은 B라고 하고 설명하겠습니다.
내부 조인은 두 테이블 간에 교집합을 나타냅니다.
<SQL>
SELECT * FROM TableA A
INNER JOIN TableB B ON
A.key = B.key
왼쪽 조인은 테이블 B의 일치하는 부분의 레코드와 함께 테이블 A를 기준으로 완전한 레코드 집합을 생성합니다. 만약 테이블 B에 일치하는 항목이 없으면 해당 값은 null 값이 됩니다.
<SQL>
SELECT * FROM TableA A
LEFT JOIN TableB B ON
A.key = B.key
오른쪽 조인은 테이블 B의 일치하는 부분의 레코드와 함께 테이블 A를 기준으로 완전한 레코드 집합을 생성합니다. 만약 테이블 A에 일치하는 항목이 없으면 해당 값은 null 값이 됩니다.
<SQL>
SELECT * FROM TableA A
RIGHT JOIN TableB B ON
A.key = B.key
합집합(완전 외부) 조인은 양쪽 테이블에서 일치하는 레코드와 함께 테이블 A와 테이블 B의 모든 레코드 집합을 생성합니다. 만약 일치하는 항목이 없으면 누락된 쪽에 null 값이 포함되어 출력됩니다.
<SQL>
SELECT * FROM TableA A
FULL OUTER JOIN TableB B ON
A.key = B.key