| 분류 | 설명 |
|---|---|
| EQUI JOIN | = 조건으로 조인하는 방식 |
| NON EQUI JOIN | = 이 아닌 다른 조건 (between > >= < <=)으로 조인하는 방식 |
ANSI/ISO SQL에서 표준으로 정한 JOIN 형태
| 형태 | 설명 |
|---|---|
| INNER JOIN | |
| OUTER JOIN | LEFT, RIGHT, FULL Oracle에서는 (+)로 표시 가능 |
| NATURAL JOIN | 두 테이블에서 같은 이름을 가진 모든 컬럼들에 대한 equal 조인 |
| CROSS JOIN (=Cartesian Product) | 두 테이블간의 조인조건이 없는 경우, 조합할 수 있는 모든 경우를 출력 |
| USING 조건절 | using (컬럼) |
| ON 조건절 |
⭐️ NATURAL JOIN과 USING 조건절 ▶️ Join할 컬럼에 대해서는 alias나 테이블명과 같은 접두사를 붙일 수 없다.
⭐️ OUTER 조인시 일반조건 위치에 따라 다른 결과
Outer join에서 ON절은 조인할 대상을 결정한다. 그러나 기준 테이블은 항상 모두 표시된다.
결과 건에 대한 필터링은 Where절에서 수행된다.
1. where 절에 위치한 경우 : 결과 데이터 필터링
2. on 절에 위치한 경우 : 조인 데이터 필터링 (조건에 해당되는 row는 조인된 데이터가 제공되고 해당하지 않는 나머지 row는 NULL이 찍힌다.)


⭐️ Oracle은 MINUS / ANSI SQL은 EXCEPT