ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 05. 테이블 조인 ( TABLE JOIN, INNER VIEW ) [Database]
    Database/Oracle 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'

    ;


    반응형

    댓글

Designed by Tistory.