INNER JOIN
: 두 테이블을 연결하여 공통된 데이터 조회
SELECT 조회컬럼
FROM 테이블1
INNER JOIN 테이블2
ON 조인조건
[WHERE 조건];
NATURAL JOIN
: 조인조건 없이 자동으로 두 테이블의 데이터 조회
SELECT 조회컬럼
FROM 테이블1
NATURAL JOIN 테이블2
[WHERE 조건];
OUTER JOIN
: 두 테이블에 공통되지 않은 행도 조회
SELECT 조회컬럼
FROM 테이블1
FULL OUTER JOIN 테이블2
ON 조인조건
[WHERE 조건];
FULL OUTER JOIN
: 두 테이블 모든 값 유지
LEFT OUTER JOIN
: 왼쪽 테이블 값만 유지
RIGHT OUTER JOIN
: 오른쪽 테이블 값만 유지
CROSS JOIN
: 두 테이블의 모든 조합 (곱집합)
SELECT 조회컬럼
FROM 테이블
CROSS JOIN 테이블2
USING vs ON
USING 조건
: 두 테이블 간의 동일한 열 이름
SELECT * FROM EMP
INNER JOIN DEPT
USING (DEPTNO);
ON 조건
: 열 이름이 달라도 됨
SELECT * FROM EMP
INNER JOIN DEPT
ON EMP.DEPTNO = DEPT.DEPTNO;
SELF JOIN
: 하나의 테이블에 자기 자신을 조인
SELECT e.EMP_NAME AS employee, m.EMP_NAME AS manager
FROM EMP e
JOIN EMP m ON e.MANAGER_ID = m.EMP_ID;