表t_user1,t_user2,t_user3,各有id,name两列

id name
1 10A
2 20A
id name
1 10B
3 30B
id name
1 10C
4 40C

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

内连接

内连接,即最常见的等值连接,例:

SELECT *
FROM t_user1,t_user2
WHERE t_user1.id = t_user2.id

结果

id name id name
1 10A 1 10B

外连接

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

1. 左外连接 left outer join 或者 left join

左外连接就是在等值连接的基础上加上主表中的未匹配数据,例:

SELECT *
FROM t_user1
LEFT OUTER JOIN  t_user2
ON t_user1.id = t_user2.id
Oracle 支持另一种写法
SELECT *
FROM t_user1 ,t_user2
WHERE t_user1.id=t_user2.id(+)

结果:

id name id name
1 10A 1 10B
2 20A

三个表做左外连接

SELECT *
FROM t_user1
LEFT OUTER JOIN t_user2
ON t_user1.id=t_user2.id
LEFT OUTER JOIN t_user3
ON t_user1.id=t_user3.id
Oracle 支持的另外一种写法
SELECT *
FROM t_user1,t_user2,t_user3
WHERE t_user1.id=t_user2.id(+)
AND t_user1.id=t_user3.id(+)

结果:

id name id name id name
1 10A 1 10B 1 10C
2 20A

2. 右外连接 right outer join 或者 right join
右外连接是在等值连接的基础上加上被连接表的不匹配数据

SELECT *
FROM t_user1
RIGHT OUTER JOIN t_user2
ON t_user1.id=t_user2.idOracle支持的另一种写法
SELECT *
FROM t_user1,t_user2
WHERE t_user1.id(+)=t_user2.id

结果:

id name id name
1 10A 1 10B
3 30B

全外连接 full outer join 或者 full join

全外连接是在等值连接的基础上将左表和右表的未匹配数据都加上

SELECT *
FROM t_user1
FULL OUTER JOIN t_user2
ON t_user1.id=t_user2.id
全外连接的等价写法,对同一表先做左连接,然后右连接
SELECT  t_user1.*,t_user2.*
FROM t_user1
LEFT OUTER JOIN t_user2
ON t_user1.id = t_user2.id
UNION
SELECT  t_user1.*,t_user2.*
FROM t_user2
LEFT OUTER JOIN t_user1
ON t_user1.id = t_user2.id

结果:

id name id name
1 10A 1 10B
2 20A
3 30B

oracle中的内连接和外连接区别相关推荐

  1. oracle连接总结(内连接、外连接、自然连接,交叉连接,自连接)

    永不放弃,一切皆有可能!!! 只为成功找方法,不为失败找借口! oracle连接总结(内连接.外连接.自然连接,交叉连接,自连接) 1.简述  1) 两个表的连接,是通过将一个表中的一列或者多列同另一 ...

  2. Oracle数据库:oracle内连接inner join on,多表查询各种自链接、内连接、外连接的练习示例

    Oracle数据库:oracle内连接inner join on,多表查询各种自链接.内连接.外连接的练习示例 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得 ...

  3. mysql a左外连接b b左外连接c_数据库中的 内连接,外连接(左连接,左外连接,右连接,右外连接),全连接,交叉连接...

    数据库的连接类型:内连接,外连接,全连接 ,交叉连接 作用:连接是关系数据库的特点,数据的关联查询用到 多表连接 提高查询效率 前段时间面试被问到数据库的内连接和外连接的问题,进过一番周折的无师自通, ...

  4. oracle 内连接、外连接、全连接

    oracle 内连接.外连接.全连接 1.内联接(典型的联接运算,使用像 = 或 <> 之类的比较运算符 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 stude ...

  5. SQL中内连接、外连接、交叉连接

    SQL中内连接.外连接.交叉连接 SQL连接可以分为内连接.外连接.交叉连接. 数据库数据:            book表                                      ...

  6. mysql 多表既有内连接又有外连接_MySQL 多表查询中的内连接和外连接

    一般情况下一个网站的数据库通常会有多张数据表组成,这些数据表分别存储网站不同区域的内容.数据表之间可以用类似 ID 的字段来关联,在查询的时候可以通过一条语句来查询多张表的内容.例如 论坛的数据库,帖 ...

  7. mysql内连接和交叉连接_MySQL中的内连接、外连接、交叉连接

    内连接(INNER JOIN): 分为三种 等值连接.自然连接.不等连接 外连接(OUTER JOIN): 左外连接(LEFT OUTER JOIN或LEFT JOIN) 右外连接(RIGHT OUT ...

  8. 【Oracle学习笔记-4】内连接和外连接的区别

    参考链接(非常棒) 摘要 下面主要以两个例子进行说明: 例子1: 表A结构如下: select * from A | 表B结构如下: select * from B 两个表要做连接,就必须有个连接字段 ...

  9. 数据库中的内连接、自然连接和外连接的区别

    数据中的连接join分为内连接.自然连接.外连接,外连接又分为左外连接.右外连接.全外连接 当然,这些分类都是在连接的基础上,是从两个表中记录的笛卡尔积中选取满足连接的记录.笛卡尔积简单的说就是一个表 ...

  10. 数据库中内连接与外连接的区别

    内连接与外连接的区别 自连接 一个表与它自身进行连接,数据均在一张表中. 内连接 是多表联查的另一种书写形式,可以匹配出两张表中符合查询条件的数据,其中包含等值连接.非等值连接.自然连接. 等值连接 ...

最新文章

  1. 一位职场老鸟的 10 年复盘,帮你避坑不吃亏!
  2. GitHub的这个彩蛋我居然才知道,我OUT了
  3. [Bzoj]5343: [Ctsc2018]混合果汁
  4. s 修饰符:dotAll 模式
  5. springboot+springcloud相关面试题
  6. Java操作itext,寻找给定关键字,并且进行页面抽取和页面盖章两个操作
  7. Python少打字小技巧
  8. 浙大 PAT b1023
  9. S_ISREG等几个常见的宏(转)
  10. OutputDebugString输出调试信息
  11. Open3d之坐标变换
  12. UVA474 Heads / Tails Probability【数学】
  13. 数据挖掘-二手车价格预测 Task04:建模调参
  14. Linux网络服务_dhcp服务和dhcp中继服务
  15. REST 表现层状态转换 架构说明
  16. 个人简历小程序(附源码)
  17. 【IDE】【WebStorm】html排版设置head和body缩进
  18. 通俗易懂讲PID,附参数调试口诀
  19. 第68页的gtk+编程例子——选择菜单
  20. steam卡价越来越高,steam搬砖项目还能玩么?

热门文章

  1. 高通GPS芯片WGR7640的驱动
  2. 网页自动填表html,韶关网页自动填表基础教程从简单开始 - MutouSoft - 时间财富网...
  3. “Python小屋”1300篇历史文章分类速查表
  4. 局域网用户的限制与反限制
  5. 联想微型计算机m73拆机,联想M73更换处理器 | 更换i3 4330t处理器_什么值得买
  6. blender风格化草地
  7. 安装loadrunner,缺少VC2005_sp1_with_atl的错
  8. 计算机汉字五笔输入法,《计算机汉字输入五笔字型打字速成》.pdf
  9. dnf脚本-技能冷却获取可以使用的技能
  10. PCL XL error Subsystem:KERNEL