1. INNER JOIN (내부 조인)
- 양쪽 테이블에서 조건에 맞는 행만 조회
- 가장 많이 사용하는 조인 방식
SELECT t1.컬럼, t2.컬럼
FROM 테이블1 t1
INNER JOIN 테이블2 t2
ON t1.컬럼 = t2.컬럼;
2. NATURAL JOIN (자연 조인)
- 공통된 컬럼 이름으로 자동 조인
- ON 조건이 필요 없음
SELECT *
FROM 테이블1
NATURAL JOIN 테이블2;
- 위험: 조인 기준을 명시하지 않아서, 컬럼명 충돌이나 예기치 않은 결과 발생 가능
3. JOIN ... USING(컬럼)
SELECT *
FROM 테이블1
JOIN 테이블2
USING (공통컬럼);
- 내부적으로 ON 테이블1.공통컬럼 = 테이블2.공통컬럼 과 같음
4. OUTER JOIN (외부 조인)
| 유형 |
설명 |
| LEFT OUTER JOIN |
왼쪽 테이블의 모든 행 + 오른쪽에서 조건 만족하는 행 |
| RIGHT OUTER JOIN |
오른쪽 테이블의 모든 행 + 왼쪽에서 조건 만족하는 행 |
| FULL OUTER JOIN |
양쪽 테이블의 모든 행 (조건 불일치 시 NULL) |
LEFT OUTER JOIN 예시
SELECT t1.컬럼, t2.컬럼
FROM 테이블1 t1
LEFT OUTER JOIN 테이블2 t2
ON t1.컬럼 = t2.컬럼;
FULL OUTER JOIN 예시
- 일부 DB (MySQL 등)는 FULL OUTER JOIN 미지원 → UNION으로 우회
-- FULL OUTER JOIN (지원하는 DB 기준)
SELECT t1.컬럼, t2.컬럼
FROM 테이블1 t1
FULL OUTER JOIN 테이블2 t2
ON t1.컬럼 = t2.컬럼;
-- MySQL 대체 방법
SELECT t1.컬럼, t2.컬럼
FROM 테이블1 t1
LEFT JOIN 테이블2 t2 ON t1.컬럼 = t2.컬럼
UNION
SELECT t1.컬럼, t2.컬럼
FROM 테이블1 t1
RIGHT JOIN 테이블2 t2 ON t1.컬럼 = t2.컬럼;