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多表查询的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 查询技巧与优化 多表查询

Oracle笔记 多表查询

Oracle基础:多表查询

Oracle曾经的Oracle学习笔记(4-7)多表联合查询,子查询,动态条件查询

Oracle --- 多表查询和子查询

Oracle查询多表连接