内部結合
主にfrom以下に複数ある対象の表を,で切って指定します。
通常の内部結合文
例)
select empno, ename, dname from emp e, dept d
where e.deptno=d.deptno;
外部結合
if.emp表とdept表を結合させたいが、
dept表のdeptno 40はemp表には存在しない。
例)
select empno, ename, e.deptno, d.deptno, dname
from emp e, dept d where e.deptno(+) = d.deptno;
#存在しないほうに
をつけるとNULLで出力してくれる。
↓
ANSI構文
dept表を右に表示(右側外部結合)
書式 | right outer join <列名> on <条件>
例)
select empno, ename, e.deptno, d.deptno
from emp e right outer join dept d
on e.deptno=d.deptno
emp表を左に表示(左側外部結合)
書式 | from <表名> left outer join <表名> on <条件>
例)
select empno, ename, e.deptno, d.deptno, dname
from dept d left outer join emp e
on d.deptno=e.deptno;
完全外部結合
書式 | from <表名> full outer join <表名> on <条件>
例)
select empno, ename, e.deptno, d.deptno, dname
from emp e full outer join dept d
on e.deptno = d.deptno
最終更新:2009年12月04日 09:35