OUTER JOIN

 

*OUTER JOIN~ON 절을 사용한 OUTER JOIN

-오라클 9i 버전부터 OUTER JOIN 절 사용

 

*사용법

SELECT            table.column, table2.column

FROM               table[RIGHT | LEFT | FULL] OUTER JOIN table2

                        on table1.column = table2.column;

 

*LEFT OUTER JOIN

-FROM 절의 왼쪽에 위치한 테이블이 NULL을 가질 경우에 사용

-WHERE 절의 오른편에 '(+)' 기호를 추가한 것과 동일

-예 : 지도교수가 배정되지 않은 학생 명단을 출력하여라.

 

 

 

OUTER JOIN

 

*실습 예

-학생 테이블과 교수 테이블을 조인하여 이름, 학년, 지도교수 이름, 직급을 출력하여라. 단, 지도학생을 배정받지 않은 교수 이름도 함께 출력하여라.

 

학생 테이블과 교수 테이블 OUTER JOIN 

 

 

'오라클 > Oracle,SQL' 카테고리의 다른 글

오라클공부 352. OUTER JOIN  (0) 2015.10.27
오라클공부 351. OUTER JOIN  (0) 2015.10.27
오라클공부 349. OUTER JOIN  (0) 2015.10.26
오라클공부 348. OUTER JOIN  (0) 2015.10.26
오라클공부 347. OUTER JOIN  (0) 2015.10.26

OUTER JOIN

 

*OUTER JOIN의 제약사항

-OUTER JOIN 연산자(+)는 NULL이 존재하는 칼럼쪽에 표시

-OUTER JOIN에서는 IN 연산자를 사용 불가

-다른 조건과 OR 연산자로 결합 불가

 

 

OUTER JOIN

 

*사용 예

-학생 테이블과 교수 테이블을 조인하여 이름, 학년, 지도교수의 이름, 직급을 출력하여라. 단, 지도교수가 배정되지 않은 학생이름도 함께 출력하여라.

 

OUTER JOIN

 

*(+) 기호를 사용한 OUTER JOIN

-WHERE 절의 조인 조건에서 OUTER JOIN 연산자인 '(+)' 기호 사용

-조인 조건문에서 NULL이 출력되는 테이블의 칼럼에 (+) 기호 추가

 

*사용법

SELECT           table.column, table2.column

FROM              table1, table2

WHERE            table1.column(+) = table2.column

        또는,        table1.column = table2.column(+)

 

 

OUTER JOIN

 

*개요

-EQUI JOIN의 조인 조건에서 양측 칼럼 값 중, 어느 하나라도 NULL이면 '=' 비교 결과가 거짓이 되어 NULL 값을 가진 행은 조인 결과로 출력 불가

   。NULL에 대해서 어떠한 연산을 적용하더라도 연산 결과는 NULL

-일반적인 EQUI JOIN의 예 :

   。학생 테이블의 학과번호 칼럼과 부서 테이블의 부서번호 칼럼에 대한 EQUI JOIN(student.

      deptno)한 경우

      -학생 테이블의 deptno 칼럼이 NULL인 경우 해당 학생은 결과로 출력되지 못함

-EQUI JOIN에서 양측 칼럼 값중의 하나가 NULL이지만 조인 결과로 출력할 필요가 있는 경우 OUTER JOIN 사용

-OUTER JOIN의 예 :

   。학생 테이블과 교수 테이블을 EQUI JOIN하여 학생의 지도 교수 이름 출력

   。조건 : 지도 학생을 한 명도 배정받지 못한 교수 이름도 반드시 함께 출력

 

 

PROFESSOR 테이블과 SALGRADE 테이블 NON-EQUI JOIN 

 

 

'오라클 > Oracle,SQL' 카테고리의 다른 글

오라클공부 347. OUTER JOIN  (0) 2015.10.26
오라클공부 346. OUTER JOIN  (0) 2015.10.26
오라클공부 344. NON-EQUI JOIN  (0) 2015.10.26
오라클공부 343. NON-EQUI JOIN  (0) 2015.10.26
오라클공부 342. EQUI JOIN-JOIN~USING  (0) 2015.10.23

+ Recent posts