hyeonga_code

Database_28_ANSI JOIN_조인 함수 두 개 이상의 컬럼이 겹치는 경우 USING 절 사용하기 본문

Oracle Database

Database_28_ANSI JOIN_조인 함수 두 개 이상의 컬럼이 겹치는 경우 USING 절 사용하기

hyeonga 2023. 7. 30. 06:59
반응형

-- 조인_JOIN
    -- 데이터베이스에서 여러 테이블의 데이터가 필요한 경우 조인 조건을 사용합니다.
    -- 서로 대응되는 열에 존재하는 공통 값에 따라 한 테이블의 행을 다른 테이블의 행에 조인할 수 있습니다.
    -- 매칭되는 컬럼이 조회 데이터에 포함되어 있지 않아도 무관합니다.


    -- 두 개 이상의 컬럼이 겹치는 경우
        -- USING 절을 포함하는 JOIN
            -- 등가 조인에 사용될 열을 지정할 수 있습니다.
            -- 여러 열이 같은 이름을 가지지만 데이터 유형이 일치하지 않을 경우, 
            -- NATURAL JOIN 절을 수정하여 USING 절을 포함시키면 등가 조인에 사용될 열을 지정할 수 있습니다.
            -- USING 절을 사용하면 둘 이상의 열이 일치할 때 한 열만 일치시킬 수 있습니다.
            -- 참조되는 열에 테이블 이름이나 별칭을 사용해서는 안됩니다.
            -- NATURAL JOIN과 USING 절은 함께 사용할 수 없습니다.
SELECT employee_id, last_name, job_id, department_id, department_name
FROM employees JOIN departments
USING (department_id);
    /*
    EM_ID  LAST_NAME JOB_ID     DP_ID  DP_NAME   
    ----------------------------------------------------------------------------
    200     Whalen         AD_ASST       10     Administration    
    201     Hartstein       MK_MAN        20     Marketing    
    202     Fay               MK_REP         20     Marketing    
    124     Mourgos       ST_MAN         50     Shipping    
    144     Vargas          ST_CLERK     50     Shipping    
    143     Matos           ST_CLERK     50     Shipping    
    142     Davies         ST_CLERK     50     Shipping    
    141     Rajs             ST_CLERK     50     Shipping    
    107     Lorentz         IT_PROG       60     IT    
    104     Ernst             IT_PROG      60     IT    
    103     Hunold         IT_PROG        60     IT    
    174     Abel             SA_REP         80     Sales    
    149     Zlotkey         SA_MAN        80     Sales    
    176     Taylor          SA_REP         80     Sales    
    102     De Haan      AD_VP           90     Executive    
    100     King             AD_PRES      90     Executive    
    101     Kochhar       AD_VP          90     Executive    
    206     Gietz             AC_ACCOUNT  110 Accounting    
    205     Higgins         AC_MGR         110 Accounting    
    */

 

반응형