SQL
이퀴조인 (EQUI JOIN) 아우터 조인(Outer Join)
dev.mk
2020. 4. 5. 18:19
반응형
1. EQUI JOIN 조인
- EQUI JOIN은 각 테이블간에 공통된 걸럼(조건)으로 데이터를 합쳐 표현하는 것이다.
ANSI 표준 조인 (JOIN절을 이용한 명시적 조인)
JOIN절을 명시적으로 선언하여 질의문을 작성할 수 도 있다.
SELECT 컬럼이름1, 컬럼이름2, ㆍㆍㆍ
FROM 테이블명1
JOIN 테이블명2
ON 테이블명1.컬럼명 = 테이블명2.컬럼명;
|
아래와 같이 작성이 가능하다.
SELECT 컬럼이름1, 컬럼이름2, ㆍㆍㆍ
FROM 테이블명1, 테이블명2
WHERE 테이블명1.컬럼명 = 테이블명2.컬럼명;
|
2. 아우터 조인 (LEFT, RIGHT)
EQUI JOIN 문장들의 한 가지 제약점은 그것들이 조인을 생성하려 하는 두개의 테이블의
두개 컬럼에서 공통된 값이 없다면 테이블로부터 데이터를 반환하지 못한다는 것이다.
- 정상적으로 저인 조건을 만족하지 못하는 행들을 보기위해 OUTER JOIN을 사용한다.
OUTER JOIN 연산자는 (+)이다. 간단하게 말하여 데이터가 없을 수도 있는 쪽 JOIN 컬럼에 (+)를 추가하여 OUTER JOIN이 가능하다.
즉, 테이블1 RIGHT OUTER JOIN 테이블2 할 경우 테이블1,테이블2 간 조인 조건이 맞지 않는 테이블1과 테이블2의 레코드 중 테이블2 레코드는 무조건 결과값에 포함되어 나오는 것입니다. 오른쪽 테이블은 무조건 나오는 것이지요.

- ORACLE에서의 LEFT OUTER조인
SELECT 테이블1.아이디
FROM 테이블1, 테이블2
WHERE 테이블1.아이디 = 테이블2.아이디(+)
|
- ANSI 표준 쿼리의 LEFT OUTER JOIN
SELECT 테이블1.아이디
FROM 테이블1
LEFT OUTER JOIN 테이블2
ON 테이블1.아이디 = 테이블2.아이디
|
LEFT는 왼쪽테이블 기준, RIGHT는 오른쪽 테이블 기준이라고 생각하면 된다.
왼쪽 테이블의 조건은 ON 영역에
기준이 되는 테이블의 조건은 WHERE 영역에 정의한다.
반응형