Oracle表的连接查询总结

在SQL中表的链接类型主要有:
内部链接、外部链接、交叉连接,下面对这几种类型进行简单的总结。

1.内部链接

关键字:INNER JOIN/JOIN

所谓内部链接也可以称为简单连接,它连接两个或多个表,只返回符合连接条件的行。

下面通过表格进行简单示例:

表Tablel1

ColumnAColumnBColumnC
X1Y1Z1
X2Y2Z2
X3Y3Y3

表Tablel2

ColumnAColumnDColumnE
X4D4E4
X2D2E2
X3D3E3

Table1 INNER JOIN Tablel2 ON Table1.ColumnA = Tablel2.ColumnB

结果表:

ColumnAColumnCColumnDColumnEColumnF
X2Y2Z2D2E2
X3Y3Z3D3E3

2.外部链接

左外连接

关键字:LEFT OUTER JOIN/LEFT JOIN
使用左外连接的查询,包含了左边表中的全部记录,右边表则只返回符合连接条件的记录,如果左边表的某行记录在右边表中没有匹配项,则在返回结果中右边表的对应处为空。

示例如下:

表Tablel1

ColumnAColumnBColumnC
X1Y1Z1
X2Y2Z2
X3Y3Y3

表Tablel2

ColumnAColumnDColumnE
X4D4E4
X2D2E2
X3D3E3

Table1 LEFT OUTER JOIN Tablel2 ON Table1.ColumnA = Tablel2.ColumnB

结果表:

ColumnAColumnCColumnDColumnAColumnEColumnF
X2Y2Z2X2D2E2
X3Y3Z3X3D3E3
X1Y1Z1NULLNULLNULL
右外连接

关键字:RIGHT OUTTER JOIN/RIGHT JOIN
与左外连接相反,将右边表中所有的数据与左边表进行匹配,返回的结果包含了匹配成功的记录,也包含了右边表中未匹配成功的记录,并在其左边对应的列处添补空值。

表Tablel1

ColumnAColumnBColumnC
X1Y1Z1
X2Y2Z2
X3Y3Y3

表Tablel2

ColumnAColumnDColumnE
X4D4E4
X2D2E2
X3D3E3

Table1 RIGHT OUTER JOIN Tablel2 ON Table1.ColumnA = Tablel2.ColumnB

结果表:

ColumnAColumnCColumnDColumnAColumnEColumnF
X2Y2Z2X2D2E2
X3Y3Z3X3D3E3
NULLNULLNULLX4D4E4
全外连接

关键字:FULL OUTER JOIN/FULL JOIN
全外连接除了包含连个表的匹配行外,还包含了FROM 子句中JOIN 关键词左边表和右边表的不匹配行。全外连接实际上可以表示如下:
全外连接 = 内部连接+左边表中失配的元组+右边表中失配的元组
把上面表Table1和Table2用全连接查询结果可表示为:

ColumnAColumnCColumnDColumnAColumnEColumnF
X2Y2Z2X2D2E2
X3Y3Z3X3D3E3
X1Y1Z1NULLNULLNULL
NULLNULLNULLX4D4E4
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值