JOIN
- 하나 이상의 테이블에서 데이터를 조회하기 위해 사용
- 수행 결과는 하나의 RESULT SET으로 나옴
- 원하는 정보를 테이블에서 조회하려면 한 개 이상의 테이블에서 데이터를 읽어와야 되는 경우가 많다.
이 때, 테이블간 관계를 맺기위한 연결고리 역할이 필요한데, 두 테이블에서 같은 데이터를 저장하는 컬럼이 연결고리가 됨.
내부 조인( INNER JOIN)
- 연결되는 컬럼의 값이 일치하는 행들만 조인됨 (== 일치하는 값이 없는 행은 조인에서 제외됨)
- 작성방법은 크게 ANSI 구문과 오라클 구문으로 나뉘고 ANSI에서 USING과 ON을 쓰는 방법으로 나뉜다.
** ANSI 표준 구문 **
- ANSI는 미국 국립 표준 협회를 뜻함 , 미국의 산업표준을 제정하는 민간단체로
국제표준화기구 ISO에 가입되어있다. ANSI에서 제정한 표준을 ANSI라고 하고
여기서 제정한 표준 중에서 가장 유명한 것이 ASCII코드이다.
** 오라클 전용 구문 **
- FROM절에 쉼표(,)로 구분하여 합치게 될 테이블명을 기술하고, WHERE절에 합치기에 사용할 컬럼명을 명시한다.
** 연결에 사용할 두 컬럼명이 다를경우 **
** 연결에 사용할 두 컬럼명이 같을경우 **
외부 조인(OUTER JOIN)
- 두 테이블의 지정하는 컬럼값이 일치하지 않는 행도 조인에 포함을 시킴
- 반드시 OUTER JOIN 임을 명시해야 한다.
** LEFT(OUTER) JOIN **
- 합치기에 사용한 두 테이블 중 왼편에 기술된 테이블의 컬럼수를 기준으로 JOIN
** RIGHT(OUTER) JOIN **
- 합치기에 사용한 두 테이블 중 오른편에 기술된 테이블의 컬럼수를 기준으로 JOIN
SELF JOIN
- 같은 테이블을 조인, 자기 자신과 조인을 맺음 --> 똑같은 테이블 두개가 조인
다중 JOIN
- N개의 테이블을 조회할 때 사용(순서 중요)
--> SELECT절에 각각에 맞는 테이블 순서대로 조인을 해야한다. 순서가 틀릴시 오류발생