하나의 테이블이 아닌 두 개 이상의 테이블을 묶어서 하나의 결과물을 만드는 것
MongoDB는 조인 연산(lookup)에 대해 관계형 데이터베이스보다 성능이 떨어지므로 여러 테이블을 조인하는 작업이 많을 경우 관계형 데이터베이스가 적합함
두 테이블 간의 교집합
왼쪽 테이블과 오른쪽 테이블의 두 행이 모두 일치하는 행이 있는 부분만 표기
SELECT * FROM t1
INNER JOIN t2 ON
t1.key = t2.key
왼쪽 테이블의 모든 행이 결과 테이블에 표기됨
오른쪽 테이블에 일치하는 항목이 없으면 해당 값은 null 값이 됨
SELECT * FROM t1
LEFT JOIN t2 ON
t1.key = t2.key
오른쪽 테이블의 모든 행이 결과 테이블에 표기됨
왼쪽 테이블에 일치하는 항목이 없으면 해당 값은 null 값이 됨
SELECT * FROM t1
RIGHT JOIN t2 ON
t1.key = t2.key
두 개의 테이블을 기반으로 조인 조건에 만족하지 않는 행까지 모두 표기
일치하는 항목이 없으면 누락된 쪽에 null 값이 포함됨
SELECT * FROM t1
FULL OUTER JOIN t2 ON
t1.key = t2.key