2개 이상의 테이블을 합치는데 사용한다.
기본적으로 아래와 같은 형식을 가진다.
JOIN [테이블] ON [조건]
ONVSWHERE
ON의 조건은 JOIN을 하기 전 필터링하고, WHERE의 조건은 JOIN을 한 후에 필터링한다.
조건에 맞는 테이블만 출력하고 싶을 때 사용한다.
두 테이블간의 교집합 개념
SELECT [컬럼]
FROM [테이블A] JOIN [테이블B]
ON [조건]
ON절의 조건에 맞는 행을 A와 B테이블을 붙여서 조회한다.
흔히 쓰는 조건은 A.[컬럼] = B.[컬럼]
SELECT *
FROM [테이블A] JOIN [테이블B]
USING ([컬럼]);
같은 이름을 가진 컬럼들 중 원하는 컬럼만 선택적 등가 조인 가능
A와 B테이블에서 USING의 컬럼이 같은 것들만 조인
⚠️ SQL SERVER에서 지원 안함
SELECT *
FROM A
/*CROSS*/ JOIN B
JOIN 조건이 없는 경우 발생할 수 있는 모든 데이터의 조합을 조회
쉽게 말해 조건 없는 조인
조건에 맞지 않아도 테이블을 출력하고 싶을 때 사용한다.

SELECT [컬럼]
FROM [테이블A]
LEFT JOIN [테이블B]
ON [조건]
A를 모두 출력하고 B에서는 조건에 맞는 경우만 조인
SELECT [컬럼]
FROM [테이블A]
RIGHT JOIN [테이블B]
ON [조건]
B를 모두 출력하고 A에서 B와 동일한 값이 있는 경우만 출력
SELECT [컬럼]
FROM A
JOIN B
ON [조건]
조건에 맞는 튜플을 조인하되, 조건에 맞지 않는 튜플 또한 조회된다.
⚠️ MariaDB에서 지원 안함
SELECT [컬럼]
FROM A
JOIN B ON [조건]
JOIN C ON [조건]
JOIN D ON [조건]
간단하게 조인과 조건등을 추가해주면 된다.