oracle多表查询
Posted ljw980706
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle多表查询相关的知识,希望对你有一定的参考价值。
(本文章内容仅在windows10下经测试能够运行,不能保证其他环境下的可靠性)
笛卡尔积使用案例代码如下:
---笛卡尔积 select * from emp e, dept d;
等值连接使用案例代码如下:
---等值连接 select * from emp e, dept d; where e.deptno = d.deptno;
内连接使用案例代码如下:
---内连接(等同于等值连接) select * from emp e inner join dept d on e.deptno = d.deptno;
外连接包括左外连接和右外连接,
---外连接 ----左右意思的理解 ----设查询语句为 select ... from A right/left join B on ...; (此时A在左,B在右,A、B的左右位置关系只由出现在查询语句的顺序决定) ----则外连接的运算过程为: ----1、A与B求交集 ----2、过程1的结果与查询语法中的left/right所指向的集合(在这个案例中left指向A、right指向B)求并集
左外连接使用案例代码如下:
---查询emp表每个员工及其所在部门的信息 select * from emp e left join dept d on e.deptno = d.deptno;
右外连接使用案例代码如下:
---查询dept表每个部门的所有员工信息 ----右外连接 select * from emp e right join dept d on e.deptno = d.deptno;
oracle(+)使用案例代码如下:
---oracle自带的外连接 ----(+)出现位置和作用 ----出现在where的条件判断的不需要保留所有数据的表的列之后, 使得该表不需显示所有数据(即标志该表为补充表) select * from emp e, dept d where e.deptno(+) = d.deptno; select * from emp e, dept d where e.deptno = d.deptno(+);
以上是关于oracle多表查询的主要内容,如果未能解决你的问题,请参考以下文章