DB/Oracle

[Oracle DB] ANSI JOIN

로아다 2023. 4. 21. 18:32
728x90
반응형
ANSI JOIN

    - ANSI에서 지정한 표준 JOIN 문법

    - 다른 관계형 데이터베이스에서도 사용할 수 있는 표준 문법

    * ANSI(America National Standard Institute) : 미국 국제 표준 기구

 

 

CROSS JOIN
SELECT * FROM employees CROSS JOIN departments;

 

INNER JOIN (조건을 충족하는 행만 등장하는 것)

    - 조인 조건에는 ON절을 사용하고 원하는 조건에는 WHERE절을 사용

    - 조인하는 두 테이블이 조인하기 위해 사용하는 컬럼명이 같다면 USING을 사용 (조인에 사용된 컬럼이 맨 앞으로 이동되고, 중복도 제거된다.)

SELECT * FROM employees e INNER JOIN departments d
ON e.department_id = d.department_id
WHERE salary <= 5000;

SELECT * FROM employees e INNER JOIN departments d USING (department_id);

 

OUTER JOIN (조건을 충족하지 않는 행도 등장하는 것)

    1. LEFT OUTER JOIN : 오른쪽 테이블에 (+)를 추가하는 효과

    2. RIGHT OUTER JOIN : 왼쪽 테이블에 (+)를 추가하는 효과

    3. FULL OUTER JOIN : 양쪽 모두에 (+)를 추가하는 효과

SELECT
    first_name, 
    department_name
FROM
    employees FULL OUTER JOIN departments USING (department_id)
ORDER BY
     first_name;

 

728x90
반응형