[SQL 핵심요약] SQL 활용
*JOIN
1) INNER JOIN
where 절에서부터 사용하던 join의 디폴트 옵션으로 join조건에서 동일한 값이 있는 행만 반환한다. 생략가능
Cross join, Outer join 과 같이 사용할 수 없다,
2) NATURAL JOIN = NATURAL INNER JOIN
INNER JOIN의 하위개념으로 두 테이블 간의 동일한 이름을 갖는 모든 칼럼들에 대해 등가 조인(EQUI JOIN)을 수행한다.
where 절에서 조인조건 추가X, on 에서 조건 추가
3) CROSS JOIN
일반 집합 연산자의 PRODUCT의 개념으로 테이블 간 JOIN조건이 없는 경우 생길 수 있는 모든 데이터의 조합
같은표현 =>CARTESIAN PRODUCT,CROSS PRODUCT
> 권고하지 않는 표현이고, 데이터가 곱하기로 늘어나기 때문에 실제 업무에서 거의 안쓰는 조인형태
4) OUTER JOIN
JOIN조건에서 동일한 값이 없는 행도 반환할 때 사용할 수 있음
칼럼뒤에 (+)를 붙여서 표시함
-LEFT (OUTER) JOIN
> 조인수행시 좌측테이블 기준,A와 B 테이블을 비교해서 B의 JOIN칼럼에서 같은 값이 있을 때 그 해당 데이터를 가져오고,
B의 JOIN칼럼에서 같은 값이 없는 경우에는 B테이블에서 가져오는 칼럼들은 NULL값으로 채운다
- RIGHT (OUTER) JOIN
>조인수행시 우측테이블 기준, A와 B테이블이 있을 때 A와 B를 비교해서 A의 JOIN칼럼에서 같은 값이 있을 때 해당 데이터를 가져오고,
A의 JOIN칼럼에서 같은 값이 없는 경우에는 A테이블에서 가져오는 칼럼들은 NULL값으로 채운다
-FULL (OUTER) JOIN
> 조인수행 시 좌측, 우측 테이블의 모든 데이터를 읽어 JOIN하여 결과를 생성한다,
즉 테이블 A,B 모두 기준이 됨, UNION 기능과 같으므로 중복이 되는 데이터는 삭제된다.