조인 처리 과정 이해 및 기본 조인 문장
조인이란?
- 데이터베이스에서 여러 테이블의 데이터가 필요한 경우 조인을 사용함
- 관계형 데이터 베이스에서 가장 기본적이고 가장 중요한 기능으로, 어떤 테이블을 기준으로 다른 테이블에 있는 ROW를 찾아 오는 것임
- 관계형 데이터 베이스에서 서로 독립적인 데이터들간의 조인을 이용하여 필요시 원하는 다양한 정보를 참조함
- 해당 컬럼에 존재하는 공통 값, 일반적으로 기본 키 및 외래 키 열을 조인 조건으로 사용하여 한 테이블의 행을 다른 테이블의 행에 조인할 수 있음
- PK, FK의 관계 없어도 논리적인 값들의 연관만으로 JOIN 작업을 처리 할 수 있음
카티시안 곱
- 카티시안 곱이 생성되는 경우
- 조인 조건을 생략한 경우
- 조인 조건이 부적합한 경우
- 첫 번째 테이블의 모든 행이 두 번째 테이블의 모든 행에 조인되어 처리됨
- 카티시안 곱이 생성되지 않도록 하려면 WHERE 절에 항상 유효한 조인 조건을 지정해야 함
조인 문장
- FROM절에 사용할 테이블들을 콤마로 구분해서 모두 적음
- 적절한 JOIN조건을 WHERE절에 지정함
- 일반적으로 테이블 개수 -1개의 조인 조건이 필요함
- PK와 FK간의 조인인 경우 조건이 붙는 경우가 많음
범위 검색을 이용한 조인 처리
- EMP테이블 SAL 값이 SQLGRADE 테이블 어느 GRADE에 해다되는지 조회
OUTER JOIN
- 조인 조건 만족하지 않는 자료 포함
- JOIN 조건을 만족하지 못하는 경우에도 모든 행들을 다 보고자 하는 경우에 사용하는 JOIN
- '(+)' 연산자를 사용함
- 어느 한 쪽 집합(테이블)이 기준이 되어 다른 쪽 집합(테이블)의 연결되는 조건 만족에 상관없이 기준이 되는 집합(테이블)은 무조건 추출됨
SELECT *
FROM DEPT D, EMP E
WHERE D.DEPTNO = E.DEPTNO(+);