Database/Oracle

05. 테이블 조인 ( TABLE JOIN, INNER VIEW ) [Database]

민돌이 2016. 10. 7. 23:47
반응형

테이블 조인 ( TABLE JOIN )


- 테이블간 Primary key - Forieign Key로 연결해 관련정보 들을 가져올 수 있습니다.

- 각 테이블은 관련 정보만 담아 두기 때문에 테이블 끼리 관계형성을 해두어

  관련된 여러 정보를 한번에 가져온다.


사용법


SELECT    [COLUMN]

FROM     [TABLE A]

 , [TABLE B]

WHERE   A.PK = B.FK

AND      [CONDITIONS]


예> ( HR 계정 )

위치 ID 가 1700 인 부서에서 근무하는 사원들의 

LAST_NAME, 부서 번호 및 JOB_ID 를 조회한다.


SELECT      E.LAST_NAME

              , E.DEPARTMENT_ID

              , E.JOB_ID

FROM       EMPLOYEES E

              , DEPARTMENTS D

              , LOCATIONS L

WHERE      E.DEPARTMENT_ID = D.DEPARTMENT_ID

AND         D.LOCATION_ID = L.LOCATION_ID

AND         L.LOCATION_ID = 1700

;


INNER VIEW


- FROM 절에서 조인을 해서 사용 하는것

- JOIN만으로 풀리지 않는 문제를 처리할 수 있다.



사용법


SELECT    [COLUMN]

FROM     [ TABLE A ]

, ( 

SELECT ....

FROM ...

WHERE ...

) B

WHERE    A.PK = B.PK

AND       [CONTITIONS]


예> ( HR 계정 )

LAST_NAME 이 'Kochhar' 인 사원과 동일한 연봉 및 커미션을 버는 사원들의 

LAST_NAME, 부서 번호 및 연봉을 조회한다.


SELECT  E.LAST_NAME

        , E.DEPARTMENT_ID

        , E.SALARY

FROM    EMPLOYEES E

        , (

            SELECT  SALARY

                    , NVL(COMMISSION_PCT, 0) COMMISSION_PCT

            FROM    EMPLOYEES

            WHERE   LAST_NAME = 'Kochhar'

        ) K

WHERE   E.SALARY = K.SALARY

AND     K.COMMISSION_PCT = NVL(E.COMMISSION_PCT, 0)

AND     E.LAST_NAME != 'Kochhar'

;


반응형