: join 조건에서 동일한 값이 있는 행만 반환
EQUI JOIN
: 테이블 간에 두 컬럼 값이 정확하게 일치하는 경우에 사용되는 방법
- 대부분 PK-FK 관계 기반(아닌 경우 O)
- INNER JOIN에 참여하는 테이블이 N개 일때 필요한 조인 조건은 N-1개 이상
- 계층형, 망형 데이터베이스와 비교해서 관계형 데이터베이스의 큰 장점
- '=' 연산자를 사용해 표현
NON EQUI JOIN
: 테이블 간에 논리적인 연관관계를 가지고 있는 경우, 컬럼값이 서로 일치하지 않는 경우
- '='이 아니라 BETWEEN, >, <= 등을 사용해서 조인
: 두 테이블 간의 JOIN 조건에서 동일한 이름을 갖는 모든 칼럼에 대해 EQUI JOIN을 수행
: NATURAL JOIN에서는 컬럼명이 같은 모든 컬럼에 대해 JOIN이 이루어지지만 USING 조건절을 사용하면 컬럼명이 같은 것들 중에서 원하는 컬럼에 대해서만 선택적으로 EQUI JOIN을 할 수 있음
동일한 값이 없을 때 테이블간 생길 수 있는 모든 데이터의 조합
양쪽 집합의 N*M건의 데이터 조합이 발생
SELECT *
FROM TABLE1 A, TABLE2 B
WHERE A.ID = B.ID(+)
=
SELECT *
FROM TABLE1 A LEFT OUTER JOIN TABLE2 B
ON (A.ID = B.ID)
: 왼쪽에 쓰인 테이블 기준
오른쪽 데이터가 NULL이더라도 왼쪽에 있는 데이터는 모두 출력
: 오른쪽에 쓰인 테이블 기준
좌우 테이블의 모든 데이터를 읽어 조인