개발 보석함

이너조인(inner join)과 아우터조인(outer join)

by hiSon

JOIN : 두 테이블을 KEY 관계로 엮어 원하는 데이터를 추출하는 것

1. Inner join

데이터 집합체의 교집합

오라클

SELECT
	e.emp_no
    , e.empo_name
    , d.dep_name
FROM
	employee e, dept d
WHERE
	e.dep_no = d.dep_no

ANSI

SELECT
	e.emp_no
    , e.emp_name
    , d.dep_name
FROM
	employee e inner join dept d
ON
	e.dep_no=d.dep_no

2. Outer join

A집합체와 B집합체가 relation을 가질 때, 기준이 되는 집합체를 가지고 오면서 기준에 해당되는 비교대상집합체가 존재하면 표시되고 존재하지않으면 표시되지않는다.

B가 기준이 되는 집합체일 경우

오라클

SELECT
	e.emp_no
    , e.empo_name
    , d.dep_name
FROM
	employee e, dept d
WHERE
	e.dep_no = d.dep_no(+)

ANSI

SELECT
	e.emp_no
    , e.emp_name
    , d.dep_name
FROM
	employee e left outer join dept d
ON
	e.dep_no=d.dep_no

3. Cartesian join(카테시안 조인)

조인 조건이 없는 join으로, 모든 경우의 수가 다 나오게 된다.

오라클

SELECT
	e.emp_no
    , e.emp_name
    , d.dep_name
FROM
	employee e, dept d

ANSI

SELECT
	e.emp_no
    , e.emp_name
    , d.dep_name
FROM
	employee e left outer join dept d
ON
	1=1

'📑DB > Oracle' 카테고리의 다른 글

SQL(DDL,DML,DCL,TCL)과 HWM  (0) 2023.04.26
오라클의 물리적, 논리적 구조  (0) 2023.04.26

블로그의 정보

개발 보석함

hiSon

활동하기