您的位置:首页 > 数据库 > Oracle

Oracle的多表连接方式

2017-10-26 11:10 288 查看
个人遇到过的多表连接方式主要包括:

inner join、left join、right join、full join、+在左边、+在右边

以下例子均以oracle自带的两张表:dept、emp

1.inner join内连接方式,把左右表中匹配到的信息全部查询出来

SQL>select e.empno,e.ename,e.job,d.deptno,d.dname
from emp e innerjoin dept d on e.deptno=d.deptno orderby e.empno;2.left join左连接方式,查询结果包含左边表中的所有记录,右边所有匹配到的记录,如果没有则用空补齐
SQL>select e.empno,e.ename,e.job,d.deptno,d.dname
from emp e leftjoin dept d on e.deptno=d.deptno orderby e.empno;3.right join右连接方式,查询结果包含右边表中的所有记录,左边所有匹配到的记录,如果没有则用空补齐
SQL>select e.empno,e.ename,e.job,d.deptno,d.dname
from emp e rightjoin dept d on e.deptno=d.deptno orderby e.empno;4.full join全连接方式,查询结果包括左右表中的所有记录,如果没有则用空补齐
SQL>select e.empno,e.ename,e.job,d.deptno,d.dname
from emp e fulljoin dept d on e.deptno=d.deptno orderby e.empno;5.+在左边,为右连接方式
SQL>select e.empno,e.ename,e.job,d.deptno,d.dname
from emp e,dept d where e.deptno(+)=d.deptno orderby e.empno; 6.+在右边,为左连接方式
SQL>select e.empno,e.ename,e.job,d.deptno,d.dname from emp e,dept d where e.deptno=d.deptno(+) orderby e.empno;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: