반응형
이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 |
외부 조인(OUTER JOIN)
설명
외부 조인(OUTER JOIN) : 어느 한쪽의 데이터가 NULL이더라도 결과를 출력할 때 포함시켜야 하는 경우 강제로 출력할 때 사용하는 조인 방식
문법
LEFT OUTER JOIN : WHERE TABLE1.COL1 = TABLE2.COL1(+)
RIGHT OUTER JOIN : WHERE TABLE1.COL1(+) = TABLE2.COL1
SQL-99 표준의 OUTER JOIN은 여기를 클릭
사용 예시
-- LEFT OUTER JOIN query1
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;
-- RIGHT OUTER JOIN query2
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;
결과
-- LEFT OUTER JOIN query1
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;
-- RIGHT OUTER JOIN query2
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;
반응형
'개발 지식 > [DBMS] Oracle' 카테고리의 다른 글
[Oracle] 서브쿼리(1) - 서브쿼리의 개념과 특징 (0) | 2022.06.02 |
---|---|
[Oracle] JOIN(5) - SQL-99 표준 JOIN (0) | 2022.06.01 |
[Oracle] JOIN(3) - 비등가 조인(NON-EQUI JOIN), 자체 조인(SELF JOIN) (0) | 2022.05.30 |
[Oracle] JOIN(2) - 내부 조인(INNER JOIN) (0) | 2022.05.29 |
[Oracle] JOIN(1) - JOIN의 기본 개념과 목적 (0) | 2022.05.28 |