조인
2개 이상의 테이블을 결합하여 필요한 데이터를 찾는 것을 의미한다.
2개 이상의 테이블을 하나의 테이블처럼 묶어서 사용하는 것을 의미함.
테이블을 결합 방식에 따라서 다양한 조인 형태를 가짐.
PK-FK 관계를 맺고 있는 테이블의 경우 조인을 이용해서 처리할 수 있음.
- 드라이브 테이블
1) 조인 관계를 처리하는 메인 테이블
2) 1:M 관계에서 1에 해당하는 테이블
3) 일반적으로 데이터의 갯수가 적다.
4) PK를 조인 조건으로 사용하기 때문에 인덱스(INDEX) 사용이 가능하다. (빠르다는 의미)- 드리븐 테이블
1) 1:M 관계에서 M에 해당하는 테이블
2) 일반적으로 데이터의 갯수가 많다.
3) FK를 조인 조건으로 사용하기 때문에 인덱스(INDEX) 사용이 불가능하다. (느리다는 의미)- 드라이브 테이블을 드리븐 테이블보다 먼저 작성하면 성능에 도움이 된다.
조인 조건으로 사용된 두 칼럼에 공통적으로 존재하는 값만 결합됨
한 테이블의 내용은 모두 포함되고 다른 한 테이블의 내용은 일치하는 정보만 포함됨
왼쪽 테이블의 내용을 모두 포함하는 경우 왼쪽 외부 조인 (Left Outer 이라고 함
오른쪽 테이블의 내용을 모두 포함하는 경우 오른쪽 외부 조인 (Right Outer 이라고 함Left Outer Join
Right Outer Join
SELECT EMPLOYEE_ID
, FIRST_NAME
, LAST_NAME
, D.DEPARTMENT_ID
, DEPARTMENT_NAME
, L.LOCATION_ID
, CITY
FROM LOCATIONS L INNER JOIN DEPARTMENTS D
ON L.LOCATION_ID = D.LOCATION_ID INNER JOIN EMPLOYEES E
ON D.DEPARTMENT_ID = E.DEPARTMENT_ID;