美文网首页oracle语法
Oracle内连接、外连接、右外连接、全外连接小总结

Oracle内连接、外连接、右外连接、全外连接小总结

作者: 喜欢小星星_ | 来源:发表于2018-08-16 21:35 被阅读0次

SQL提供了多种类型的连接方式,它们之间的区别在于:从相互交叠的不同数据集合中选择用于连接的行时所采用的方法不同。
连接类型 定义
内连接 只连接匹配的行
左外连接 包含左边表的全部行(不管右边的表中是否存在与它们匹配的行),以及右边表中全部匹配的行
右外连接 包含右边表的全部行(不管左边的表中是否存在与它们匹配的行),以及左边表中全部匹配的行
全外连接 包含左、右两个表的全部行,不管另外一边的表中是否存在与它们匹配的行。

内连接 inner join
左外连接 left join 或 left outer join
右外连接 right join 或 right outer join
全外连接 full join 或 full outer join

A表

A B
001 10A
002 20A

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

相关文章

  • Oracle内连接、外连接、右外连接、全外连接小总结

    SQL提供了多种类型的连接方式,它们之间的区别在于:从相互交叠的不同数据集合中选择用于连接的行时所采用的方法不同。...

  • 数据库连接查询

    三种连接查询 内连接 左外连接、右外连接、全外连接 交叉连接 高级引用

  • Pandas数据合并

    merage 内连接 左外连接 右外连接 全外连接 示例 join concat merage# pandas提供...

  • 多表查询和事务

    多表查询包括内连接和外连接内连接: 隐式内连接 显示内连接 外连接: 左外连接 右外连接 左外连接: 在内连接的基...

  • MySQL 内连接、外连接、左连接、右连接、全连接

    图解MySQL 内连接、外连接、左连接、右连接、全连接转载

  • 连接查询

    1.分类 内连接等值非等值自连接 外连接左外右外全外(mysql不支持) 2.语法 1、内连接 语法:select...

  • SQL基础-3

    1、99语法内连接 等值连接 非等值连接外链接 全连接 左外链接 右外链接2、视图与索引创建视图 删除视图索引 ...

  • MySQL连接查询:左外连接、右外连接、全连接

    昨天介绍了MySQL连接查询中的交叉连接和内连接,今天继续介绍连接查询中的剩下三个连接方法,左外连接、右外连接、全...

  • MySQL 多表连接查询详解

    连接:就是将多个表连城一个表输出的过程叫连接(关联)。 连接类型:交叉连接、内连接、外连接(左外连接、右外连接)、...

  • mysql---连接查询

    连接查询(多表查询)内连接外连接---左外连接---右外连接 前提条件:多张表之间要存在相关联的字段 内连接 特征...

网友评论

    本文标题:Oracle内连接、外连接、右外连接、全外连接小总结

    本文链接:https://www.haomeiwen.com/subject/mucabftx.html