hyeonga_code

Database_31_ANSI JOIN_조인 함수 테이블의 접두어 사용 본문

Oracle Database

Database_31_ANSI JOIN_조인 함수 테이블의 접두어 사용

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

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

  
    /*
    SELECT employees.employee_id, employees.last_name, departments.department_name
    FROM employees JOIN departments 
    ON (employees.department_id = departments.department_id);
    -- JOIN을 사용하는 경우 각각의 컬럼을 어떠한 테이블에서 가져오는 건 지 명시해주는 것이 좋은 코드입니다.
        -- 코드가 너무 길어집니다.
    */
    -- 테이블의 접두어 사용
        -- 여러 테이블의 모호한 열의 이름을 한정합니다.
        -- 성능을 향상시킵니다.
        -- 전체 테이블 이름의 접두어 대신 alias를 사용할 수 있습니다.
        -- 열 alias를 사용하여 이름은 동일하지만 서로 다른 테이블에 상주하는 열을 구분할 수 있습니다.


SELECT e.employee_id, e.last_name, d.department_name
FROM employees e JOIN departments d 
ON (e.department_id = d.department_id);
    /* 
    EM_ID        LAST_NAME         DEPARTMENT_NAME         
    ----------------------------------------------------------     
    200         Whalen             Administration        
    201         Hartstein             Marketing        
    202         Fay                 Marketing        
    124         Mourgos             Shipping        
    144         Vargas             Shipping        
    143         Matos                 Shipping        
    142         Davies             Shipping        
    141         Rajs                 Shipping        
    107         Lorentz             IT        
    104         Ernst                 IT        
    103         Hunold             IT        
    174         Abel                 Sales        
    149         Zlotkey             Sales        
    176         Taylor                 Sales        
    102         De Haan             Executive        
    100         King                 Executive        
    101         Kochhar             Executive        
    206         Gietz                 Accounting        
    205         Higgins             Accounting        
        -- JOIN의 결과에 제외된 결과가 있습니다.
        -- department_id를 가지지 않는 null 값을 가진 직원이 있습니다.
    */

 

반응형