1. inner join : 교집합에 해당 ( 조건에 맞는 행만 출력 )
-- 주문이 있는 고객만 나옴
SELECT c.customer_id, c.customer_name, o.order_id, o.order_date
FROM customers c
INNER JOIN orders o
on c.customer_id = o.customer_id;



2) left outer join : from Table에 초점을 맞춘 조인이다 ( 왼쪽 테이블 기준, 왼쪽 테이블 매칭 없으면 NULL )
ex) from 부서 left outer join 부서번호 : 부서에 해당하는모두 호출 + (부서와 부서번호 교집합 호출)
SELECT c.customer_id, c.customer_name, o.order_id, o.order_date
FROM customers c
LEFT JOIN orders o
on c.customer_id = o.customer_id;

3) right outer join : Table에 초점을 맞춘 조인 ( 오른쪽 테이블 기준, 왼쪽 테이블 매칭 없으면 NULL )
SELECT c.customer_id, c.customer_name, o.order_id, o.order_date
FROM customers c
RIGHT JOIN orders o
on c.customer_id = o.customer_id;

4) full outer join : 모든 데이터 조회를 위한 합집합( 양쪽모두 포함 , 매칭 없는 쪽은 NULL )
SELECT c.customer_id, c.customer_name, o.order_id, o.order_date
FROM customers c
FULL OUTER JOIN orders o
on c.customer_id = o.customer_id;

5) cross 조인 : 두 테이블 데이터의 모든조합(곱집합) , 조건 없이 모든 조합 출력
SELECT c.customer_name, o.order_id
FROM customers c
CROSS JOIN orders o;

'SQL' 카테고리의 다른 글
| 오라클 | DDL, DML, DCL 기능 (0) | 2025.08.15 |
|---|---|
| 오라클 | 서브쿼리 ( select절, from절, where절 ) (2) | 2025.08.13 |