SQL join (inner join, outer join, natural join, self join)
join
교집합을 만드는 것, 두 개의 테이블 간에 일치하는 것을 조인한다.
emp와 dept 테이블에 deptno라는 공통 테이블이 있다.
where 절에 emp.deptno 와 같이 테이블을 구분해서 조인이 가능하다.
예시)
select ename,dname
from emp,dept
where emp.deptno=dept.deptno
and ename='SCOTT';
inner join
on을 사용해서 테이블을 연결한다, using도 사용 가능하다.
on 사용시 각각테이블의 값을 = 로 묶어줘야함
예시)
select ename,dname
from emp inner join dept
on emp.deptno=dept.deptno
where ename='SCOTT';
using은 인자값을 ( ) 로 입력한다
예시)
select ename,dname
from emp inner join dept
using(deptno)
where ename='SCOTT';
셋 다 모두 같은 결과가 나온다.
outer join
left outer join, right outer join, full outer join
어느 한쪽의 데이터를 모두 출력한다. 조건에 맞는 것을 다른 쪽에 출력한다.
조건에 맞지 않은 것은 null로 표시한다.
natural join
select loc, ename, sal
from emp natural join dept
where loc='new york';
self join
한 테이블이 자기 자신과 join을 다시 하는 경우