☞ Outer join : Syntax
|
●정상적으로 조인 조건을 만족하지 못하는 행들을 보기위해 Outer join을 사용한다. ●Outer join 연산자는 "(+)"이다. ●조인시킬 값이 없는 조인측에 "(+)"를 위치 시킨다.
|
♣ Outer Join |
▶ 행인 조건을 만족하지 않을시 해당 행은 질의결과에 나타나지 않는다. ▶ 예를 들자면 S_EMP와 S_CUSTOMER 테이블의 equijoin에서 Sweet Rock Sports사는 이 고객에 대해 담당 영업사원이 없기 때문에 결과에 나타나지 않는다. ▶ Outer join 연산자를 조인 조건에 사용시 조인조건을 만족하지 않는 행들도 결과에 나타날 수 있다. ▶ 그 연산자는 괄호로 묶인 플러스 기호(+)이며 정보가 부족한 조인측에 위치한다. ▶ (+)연산자는 한 개 이상의 NULL 행을 생성하고 정보가 충분한 테이블의 한 개 이상의 행들이 이런 NULL 행에 조인된다.
| |
♣ Syntax |
SELECT FROM WHERE |
table.column, table.column table1.table2 table1.column = table2.column(+); | |
또는
SELECT FROM WHERE |
table.column, table.column table1.table2 table1.column(+) = table2.column; |
여기서,
|
table.column= table1.table2
(+)
|
테이블들을 함께 묶는(관련시키는) 조건이다.
Outer join 기호이다. 이 기호는 WHERE절 조건의 어느측에 올 수 있으나 양측 모두에는 올 수 없다. Outer join 연산자를 일치하는 행이 없는 테이블쪽에 두라.
| |
☞ Outer join : 예 |
●모든 고객에 대해 담당 영업사원이 없다할지라도 영업사원 이름과 고객 이름을 출력한다. ●Outer join 연산자는 표현식의 한 편에만 올 수 있다. ●Outer join을 포함하는 조건은 -IN 연산자를 사용할 수 없다. -OR 연산자에 의해 다른하나의 조건에 연결될 수 없다.
| |
♠ 질의 예제 :모든 고객에 대해 담당 영업사원 이름과 사번 및 고객 이름을 출력하라. 이때 고객을 담당하는 담당 영업사원이 없더라도 고객 이름을 출력하도록 하라.
|
|
|