Christmas Pikachu 오라클 OUTER JOIN(외부 조인)
개발일지/Oracle

오라클 OUTER JOIN(외부 조인)

ZI_CO 2023. 12. 20.

INNER JOIN은 두 테이블을 조인해 조인 조건으로 사용한 열에 있는 값을 조합해 검색합니다. 

하지만 다른 테이블에 있는 행에서 일치 항목이 아닌 행을 조합해 검색해야 할 때도 있습니다. 그런 경우에는

외부조인(OUTTER JOIN) 을 사용합니다.

예를 들어 상품을 주문한 고객과 주문하지 않은 고객을 포함해 주문 내역을 함께 검색하고 싶다면 외부 조인을 사용 할 수 있습니다. 정리하자면 외부 조인은 열의 일치 항목을 고려하지 않고, 한쪽 테이블을 다른족 테이블에 조합 할 때 사용합니다.

 

 

 

LEFT OUTER JOIN (또는 LEFT JOIN):
왼쪽 테이블의 모든 행을 포함하며, 오른쪽 테이블과 일치하는 행이 있는 경우에는 일치하는 행을 포함합니다.
오른쪽 테이블의 값이 없는 경우에는 NULL 값으로 채워집니다.

SELECT 
    테이블1.컬럼1, 테이블1.컬럼2, ..., 테이블2.컬럼1, 테이블2.컬럼2, ...
FROM 
    테이블1
LEFT OUTER JOIN 
    테이블2
ON 
    테이블1.결합조건 = 테이블2.결합조건;

 

 

 

RIGHT OUTER JOIN (또는 RIGHT JOIN):
오른쪽 테이블의 모든 행을 포함하며, 왼쪽 테이블과 일치하는 행이 있는 경우에는 일치하는 행을 포함합니다.
왼쪽 테이블의 값이 없는 경우에는 NULL 값으로 채워집니다.

SELECT 
    테이블1.컬럼1, 테이블1.컬럼2, ..., 테이블2.컬럼1, 테이블2.컬럼2, ...
FROM 
    테이블1
RIGHT OUTER JOIN 
    테이블2
ON 
    테이블1.결합조건 = 테이블2.결합조건;

 

 

 

FULL OUTER JOIN:
양쪽 테이블의 모든 행을 포함하며, 일치하는 행이 없는 경우에는 NULL 값으로 채워집니다.
양쪽 테이블의 값이 없는 경우에도 결과에 포함됩니다.

SELECT 
    테이블1.컬럼1, 테이블1.컬럼2, ..., 테이블2.컬럼1, 테이블2.컬럼2, ...
FROM 
    테이블1
FULL OUTER JOIN 
    테이블2
ON 
    테이블1.결합조건 = 테이블2.결합조건;

 

 


OUTER JOIN을 사용하면 두 테이블 간에 일치하지 않는 행도 결과에 포함되기 때문에, 일부 행에 대한 컬럼 값이 NULL이 될 수 있습니다.

'개발일지 > Oracle' 카테고리의 다른 글

문자열 함수  (0) 2023.12.24
오라클 - INNER JOIN (JOIN)  (0) 2023.12.20
오라클 컬럼 데이터 타입 종류  (0) 2023.12.19
오라클 테이블 생성 쿼리  (0) 2023.12.19
오라클 외부 DB 접속하는법  (0) 2023.12.19

댓글