조인은 테이블과 테이블을 합쳐서 추출하는 방식이다. 조인에는 여러가지 종류가 있다.


◆ JOIN

실제로 다른 테이블을 하나처럼 합쳐서 사용할 수 있게 하는 기능 종류는 4가지가 있다.
( inner join, left outer join, right outer join, full outer join )


▶ inner join ( 내부조인 )

내부조인은 두 테이블의 조건이 일치하는 데이터들만 추출해 내는것이다.
사용법은 select * from T1 inner join T2 on T1.column = T2.column 으로 사용한다

select * from baby inner join gender on baby.GENDER = gender.code;

위 SQL문의 결과는 baby테이블과 gender테이블을 합치는 것이다.
on뒤의 조건은 baby테이블의gender속성과, gender테이블의 code속성이 같은 데이터행만 추출된다.
즉, 일치하는 데이터가 없을경우 해당 행은 추출되지 않는다.


▶ outer join ( 외부조인 )

외부 조인의 종류는 left outer join, right outer join, full outer join이 있으며
어떤 테이블을 기준으로 조인을 하냐를 정하는 것이고, 기준이 된 테이블의 데이터행은 일치하는 조건이 없어도 모두 출력된다.
(단, 속성이 일치하지 않은 데이터행의 기준이 아닌 테이블의 데이터는 모두 null로 추출된다.)

사용법은 select * from T1 left outer join T2 on T1.column = T2.column 으로 사용한다.

select * from baby left outer join gender on baby.gender = gender.code

위 SQL문의 결과는 baby테이블이 기준이 되는 외부 조인으로, baby테이블의 모든 데이터행에서 조건이 일치할 경우 gender테이블의 값이 추출되고, 조건이 일치하지 않는 행일경우 gender테이블의 속성값은 모두 null로 표기된다.


▶ inner, outer 는 생략가능한 키워드

내부 조인의 키워드로 inner join을 사용하지만, inner를 생략하고 join으로 표기하면 내부조인으로 인식한다.

또한 외부조인의 키워드로 left outer join을 사용하지만, outer를 생략하고 left join으로만 표기하면 왼쪽 외부조인으로 인식한다.