08. 여러 테이블을 하나의 테이블 처럼 사용하는 조인(P.215)
08-2. 조인 종류
1. 등가조인(equi join/inner join/simple join)
: 등가조인은 테이블을 연결한 후에 출력 행을 각 테이블의 특정 열에 일치한 데이터를 기준으로 선정하는 방식이다.
1) 문법 : P.222 참고
2) 예시/결과
#1. 참고자료 : DEPTNO 열로 등가조인
/*8-5 실습*/
SELECT E.EMPNO, E.ENAME, E.DEPTNO, D.DEPTNO, D.DNAME, D.LOC
FROM EMP E, DEPT D
WHERE E.DEPTNO = D.DEPTNO
ORDER BY D.DEPTNO, E.EMPNO;
#2. 참고자료 : DEPTNO 열로 등가조인 한 결과값
#3. 참고자료 : INNER JOIN 한 결과값
3) 실무활용 TIP
- 실무에서는 겹치지 않는 열 이름이더라도 대부분 테이블이나 별칭을 명시한다.
- 기본적으로 데카르트 곱 현상이 일어나지 않게 하는 데 필요한 조건식의 최소 개수는 조인 테이블 개수에서 하나를 뺀 값이다.
※ 1분 복습
SELECT *
FROM EMP E, DEPT D
WHERE E.DEPTNO = D.DEPTNO
AND E.SAL <= 2500
AND E.EMPNO <= 9999
ORDER BY E.EMPNO;
2. 비등가 조인(non-equi join)
: 등가 조인 이외의 방식을 의미한다.
1) 문법
2) 예시/결과
#1. 참고자료 : 비등가 조인
SELECT *
FROM EMP E, SALGRADE S
WHERE E.SAL BETWEEN S.LOSAL AND S.HISAL;
#2. 참고자료 : 비등가 조인 결과
: 조인 조건을 지정하지 않을시에 데카르트 곱 현상이 발생한다.
3) 실무활용 : 조인 조건이 특정열의 일치 여부(* 등가조인) 외에도 사용 될 수 있음을 알아야 한다.
3. 자체 조인
4. 외부조인(Outer join) : 두 테이블간 조인 수행에서 조인 기준 열의 어느 한쪽이 NULL이어도 강제로 출력하는 방식을 외부조인(아우터 조인)이라고 한다.
1) 문법
- 왼쪽 외부 조인(Left Outer Join) : WHERE TABLE1.COL1=TABLE2.COL1(+)
- 오른쪽 외부 조인(Right Outer Join) : WHERE TABLE1.COL1(+)=TABLE2.COL1
2) 예시/결과
- 실습 8-9, 예시 : 왼쪽 외부 조인
SELECT E1.EMPNO, E1.ENAME, E1.MGR,
E2.EMPNO AS MGR_EMPNO,
E2.ENAME AS MGR_ENAME
FROM EMP E1, EMP E2
WHERE E1.MGR = E2.EMPNO(+)
ORDER BY E1.EMPNO;
- 결과 : 왼쪽 외부 조인 결과
- 실습 8-10, 예시 : 오른쪽 외부 조인 사용하기
SELECT E1.EMPNO, E1.ENAME, E1.MGR,
E2.EMPNO AS MGR_EMPNO,
E2.ENAME AS MGR_ENAME
FROM EMP E1, EMP E2
WHERE E1.MGR(+) = E2.EMPNO
ORDER BY E1.EMPNO;
- 결과 : 오른쪽 외부 조인 결과
3) 실무활용