최대 1 분 소요

OUTER JOIN

두 테이블 JOIN시 한테이블이 데이터가 있어도 결과를 출력하는 조인

내부조인결과 : 106개

select emp.department_id,first_name,department_name 
from employees emp, departments dep
where emp.department_id = dep.department_id;

 

외부조인

select department_id from departments;
select DISTINCT department_id from employees;

 

외부조인 해보기

1.LEFT OUTER JOIN

왼쪽에 있는 테이블의 모든 결과를 가져온후 오른쪽 테이블의 데이터를 매칭하고,매칭되는 데이터가 없을경우 NULL로 표시한다

select e.department_id ,first_name,department_name
from employees e ,departments d
where e.department_id = d.department_id(+);

107개의 행이 출력된다

 

2.RIGHT.OUTER JOIN

오른쪽에 있는 테이블의 모든 결과를 가져온후 왼쪽 테이블의 데이터를 매칭하고,매칭되는 데이터가 없을 경우 NULL로 표시한다

select e.department_id ,first_name,department_name
from employees e ,departments d
where e.department_id(+) = d.department_id;

122행이 출력된다

 

3.FULL OUTER JOIN

RIGHT 와 LIFT를 합친것으로 양쪽 모두 조건이 일치하지 않는것까지 모두 결합해 출력한다

select e.department_id ,first_name,department_name
from employees e ,departments d
where e.department_id(+) = d.department_id
union
select e.department_id ,first_name,department_name
from employees e ,departments d
where e.department_id = d.department_id(+);  

107개행이 출력된다

카테고리:

업데이트:

댓글남기기