고래씌

[Oracle] 4-2. DML(SELECT) - JOIN ② (OUTER JOIN, FULL OUTER JOIN) 본문

Database/Oracle

[Oracle] 4-2. DML(SELECT) - JOIN ② (OUTER JOIN, FULL OUTER JOIN)

고래씌 2023. 11. 27. 10:46

1. 포괄조인 / 외부조인(OUTER JOIN)

: 테이블간의 JOIN시 "일치하지 않는 행도" 포함시켜서 조회 가능
 단, 반드시 LEFT 혹은 RIGHT를 지정해야함
=> LEFT 시 왼쪽이 기준이 되는 테이블, RIGHT시 오른쪽이 기준이 되는 테이블
=> 일치하는 행과 기준이 되는 테이블 기준으로 일치하지 않는 행도 포함시켜서 조회

LEFT JOIN

 

RIGHT JOIN

 

EMPLOYEE 테이블
DEPARTMENT 테이블

 

JOB 테이블

 

1) LEFT OUTER JOIN

: 두 테이블중 왼편에 기술된 테이블을 기준으로 JOIN

즉, 뭐가되었든 간에 왼편에 기술된 테이블의 데이터는 무조건 조회되게 한다.

(일치하는 것이 없더라도 조회하겠다)

 

 

▶ 전체 사원들의 사원명, 급여, 부서명

- ANSI

 

- 오라클 전용 구문

 

내가 기준으로 삼을 테이블의 컬럼명이 아닌 반대 테이블의 컬럼명에 (+)를 붙여준다.

 

 

2) RIGHT OUTER JOIN

: 두 테이블 중 오른편에 기술된 테이블을 기준으로 JOIN

 

▶ 전체 사원들의 사원명, 급여, 부서명

- ANSI

 

- 오라클 전용 구문

 

 

3) FULL OUTER JOIN

: 두 테이블이 가진 모든 행을 조회

 

=> 일치하는 행들 + LEFT JOIN 기준 새롭게 추가된 행들 + RIGHT JOIN 기준 새롭게 추가된 행들

 

▶ 전체 사원들의 사원명, 급여, 부서명

- ANSI

 

- 오라클 전용 구문은 사용 불가

 

☞ 에러 발생