1. 등가 조인 (Equi Join)
- 조건식에서 =를 사용해 동일한 값을 가진 열끼리 조인하는 방식입니다.
SELECT E.EMPNO, E.ENAME, D.DEPTNO, D.DNAME, D.LOC
FROM EMP E, DEPT D
WHERE E.DEPTNO = D.DEPTNO;
2. 내장 조인 (Inner Join)
- 두 테이블에서 일치하는 데이터를 가져옵니다. 기본 조인 방식이며, 등가 조인도 여기에 포함됩니다.
SELECT E.EMPNO, E.ENAME, D.DEPTNO, D.DNAME, D.LOC
FROM EMP E INNER JOIN DEPT D
ON E.DEPTNO = D.DEPTNO;
3. 외부 조인 (Outer Join)
- 일치하지 않는 데이터도 포함해 출력하는 방식입니다. 외부 조인은 세 가지로 나눌 수 있습니다.
1) 왼쪽 외부 조인 (Left Outer Join)
- 왼쪽 테이블의 모든 행을 포함하고, 일치하는 데이터가 없는 경우에도 출력합니다.
SELECT E.EMPNO, E.ENAME, D.DEPTNO, D.DNAME, D.LOC
FROM EMP E LEFT OUTER JOIN DEPT D
ON E.DEPTNO = D.DEPTNO;
2) 오른쪽 외부 조인 (Right Outer Join)
- 오른쪽 테이블의 모든 행을 포함하고, 일치하지 않는 왼쪽 테이블의 행은 NULL로 출력합니다.
SELECT E.EMPNO, E.ENAME, D.DEPTNO, D.DNAME, D.LOC
FROM EMP E RIGHT OUTER JOIN DEPT D
ON E.DEPTNO = D.DEPTNO;
3) 전체 외부 조인 (Full Outer Join)
- 두 테이블의 모든 행을 포함하여 일치하지 않는 부분은 NULL로 표시합니다.
SELECT E.EMPNO, E.ENAME, D.DEPTNO, D.DNAME, D.LOC
FROM EMP E FULL OUTER JOIN DEPT D
ON E.DEPTNO = D.DEPTNO;
4. 비등가 조인 (Non-Equi Join)
- = 외의 조건을 사용하여 조인하는 방식입니다. 주로 범위를 지정할 때 사용합니다.
SELECT E.EMPNO, E.ENAME, S.GRADE
FROM EMP E, SALGRADE S
WHERE E.SAL BETWEEN S.LOSAL AND S.HISAL;
5. 자체 조인 (Self Join)
- 동일한 테이블을 여러 번 사용하여 서로 다른 행을 조인하는 방식입니다. 보통 자기 참조 데이터에서 사용됩니다.
SELECT E1.EMPNO, E1.ENAME, E2.ENAME AS MANAGER
FROM EMP E1, EMP E2
WHERE E1.MGR = E2.EMPNO;
6. NATURAL JOIN
- 동일한 이름을 가진 열을 기준으로 자동으로 조인합니다. 그러나 동일한 열 이름이 여러 개 있을 경우 주의가 필요합니다.
SELECT E.EMPNO, E.ENAME, D.DNAME
FROM EMP E NATURAL JOIN DEPT D;
7. JOIN USING
- 특정 열을 기준으로 조인할 때 사용하며, 조인에 사용할 열을 명시합니다. 조인 대상 테이블에 같은 이름의 열이 있을 때 사용합니다.
sql
코드 복사
SELECT E.EMPNO, E.ENAME, D.DNAME
FROM EMP E JOIN DEPT D USING (DEPTNO);
8. JOIN ON
- 조인 조건을 명확히 명시할 때 사용합니다. INNER JOIN, LEFT OUTER JOIN 등에서 조인 조건을 정의하는 방식입니다.
SELECT E.EMPNO, E.ENAME, D.DNAME
FROM EMP E JOIN DEPT D ON E.DEPTNO = D.DEPTNO;
조인 유형 비교 요약
조인 유형 설명 일치하지 않는 데이터 처리
등가 조인 | 동일한 값을 가진 열끼리 비교 | 일치하지 않는 데이터는 제외 |
내장 조인 | 두 테이블에서 일치하는 데이터를 가져옴 | 일치하지 않는 데이터는 제외 |
외부 조인 | 일치하지 않는 데이터도 포함 | NULL로 처리 |
비등가 조인 | 등가 외의 조건으로 조인 | 일치하지 않는 데이터는 제외 |
자체 조인 | 동일한 테이블의 행을 여러 번 사용하여 조인 | 사용 불가능 |
NATURAL JOIN | 두 테이블의 동일한 이름을 가진 열을 기준으로 자동 조인 | 일치하지 않는 데이터는 제외 |
JOIN USING | 명시한 열을 기준으로 조인 | 일치하지 않는 데이터는 제외 |
JOIN ON | 조인 조건을 명시하여 조인 | 조건에 맞지 않으면 제외 |
이제 모든 주요 조인 방식과 각 특징을 정리해보았습니다. 중복된 내용은 제거하고, 중요한 조인 예시와 차이점을 명확히 하였습니다.
'SQL > 개념' 카테고리의 다른 글
06. 데이터 조작어(DML) (0) | 2023.05.08 |
---|---|
05. 서브쿼리 (0) | 2023.05.03 |
03. 다중행 함수와 데이터 그룹화 (0) | 2023.05.03 |
02. 오라클 함수 (0) | 2023.05.03 |
01. SQL 개념과 기초 (1) | 2023.05.02 |