表の結合

内部結合


主に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
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。