度量快速开发平台-专业、快速的软件定制快开平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 部件 流程 SQL
查看: 2400|回复: 11
打印 上一主题 下一主题

[分享] oracle表连接

[复制链接]

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
跳转到指定楼层
楼主
发表于 2020-6-1 15:18:43 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
有下图所示测试使用的数据库表:


连接分为两种:内连接与外连接。

A.内连接
内连接,即最常见的等值连接,例:
SELECT  *  FROM TESTA,TESTB  WHERE TESTA.A=TESTB.A

结果集:



B.外连接
外连接分为左外连接,右外连接和全外连接。

1.  左外连接 left outer join 或者 left join
左外连接就是在等值连接的基础上加上主表中的未匹配数据,例:
SELECT *
FROM TESTA
LEFT OUTER JOIN TESTB
ON TESTA.A=TESTB.A

Oracle 支持另一种写法:
SELECT *
FROM TESTA,TESTB
WHERE TESTA.A=TESTB.A(+)

结果集:


三个表做左外连接
SELECT *
FROM TESTA
LEFT OUTER JOIN TESTB
ON TESTA.A=TESTB.A
LEFT OUTER JOIN TESTC
ON TESTA.A=TESTC.A

Oracle 支持的另外一种写法
SELECT *
FROM TESTA,TESTB,TESTC
WHERE TESTA.A=TESTB.A(+)
AND TESTA.A=TESTC.A(+)

结果集:


2. 右外连接 right outer join 或者 right join
右外连接是在等值连接的基础上加上被连接表的不匹配数据
SELECT *
FROM TESTA
RIGHT OUTER JOIN TESTB
ON TESTA.A=TESTB.A

Oracle支持的另一种写法
SELECT *
FROM TESTA,TESTB
WHERE TESTA.A(+)=TESTB.A

结果集:


3.全外连接 full outer join 或者 full join
全外连接是在等值连接的基础上将左表和右表的未匹配数据都加上
SELECT *
FROM TESTA
FULL OUTER JOIN TESTB
ON TESTA.A=TESTB.A
全外连接的等价写法,对同一表先做左连接,然后右连接
SELECT  TESTA.*,TESTB.*
FROM TESTA
LEFT OUTER JOIN TESTB
ON TESTA.A=TESTB.A
UNION
SELECT TESTA.*,TESTB.*
FROM TESTB
LEFT OUTER JOIN TESTA
ON TESTA.A=TESTB.A

结果集:


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
沙发
 楼主| 发表于 2020-6-1 15:19:25 | 只看该作者
坐坐再走
回复

使用道具 举报

328

主题

3738

帖子

8566

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8566
QQ
板凳
发表于 2020-6-4 16:27:46 | 只看该作者
重温了下知识

点评

温故而知新  详情 回复 发表于 2020-6-4 16:30
回复 支持 反对

使用道具 举报

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
地板
 楼主| 发表于 2020-6-4 16:30:42 | 只看该作者

温故而知新
回复 支持 反对

使用道具 举报

328

主题

3738

帖子

8566

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8566
QQ
5#
发表于 2020-6-5 14:02:11 | 只看该作者

点评

学而时习之  详情 回复 发表于 2020-6-5 14:57
回复 支持 反对

使用道具 举报

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
6#
 楼主| 发表于 2020-6-5 14:57:47 | 只看该作者

点评

不亦乐夫!  详情 回复 发表于 2020-6-6 14:36
回复 支持 反对

使用道具 举报

328

主题

3738

帖子

8566

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8566
QQ
7#
发表于 2020-6-6 14:36:55 | 只看该作者

不亦乐夫!

点评

学而时习之,不亦说乎;你个别字大王  详情 回复 发表于 2020-6-6 14:40
回复 支持 反对

使用道具 举报

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
8#
 楼主| 发表于 2020-6-6 14:40:38 | 只看该作者

学而时习之,不亦说乎;你个别字大王

点评

你不baidu,你晓得  详情 回复 发表于 2020-6-6 14:51
回复 支持 反对

使用道具 举报

328

主题

3738

帖子

8566

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8566
QQ
9#
发表于 2020-6-6 14:51:09 | 只看该作者
张兴康 发表于 2016-7-6 14:40
学而时习之,不亦说乎;你个别字大王

你不baidu,你晓得

点评

切,当我语文白学的啊,百度只是为了确认是不是我记错了  详情 回复 发表于 2020-6-7 17:56
回复 支持 反对

使用道具 举报

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
10#
 楼主| 发表于 2020-6-7 17:56:12 | 只看该作者
陈晓龙 发表于 2016-7-6 14:51
你不baidu,你晓得

切,当我语文白学的啊,百度只是为了确认是不是我记错了

点评

呵呵 ............  详情 回复 发表于 2020-6-8 17:39
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|重庆度量科技  本站关键词:快速开发平台

GMT+8, 2024-11-28 07:39 , Processed in 0.132323 second(s), 31 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表