ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

oracle多表查询

2020-05-29 09:04:10  阅读:238  来源: 互联网

标签:多表 案例 查询 dept emp oracle deptno 连接 select


(本文章内容仅在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(+);

 

标签:多表,案例,查询,dept,emp,oracle,deptno,连接,select
来源: https://www.cnblogs.com/RGBTH/p/12985432.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有