Oracle里面的全连接?

Oracle里面的全连接?,第1张

左外联接的时候保证左面的表的数据是完整的然后从右面的表中符合条件的链接到左面的表当中。右外连接的话是保证右面的所有数据行连接以后都存在,从左面的表里面把符合条件的行链接到右表的 *** 作。那么全连接就是保证左右表的所有数据行都存在与连接后的表当中的连接。假设有下面两张表以字段A做左外连接,右外连接,全连接。

table A table B

A B CA E F

1 1 11 2 3

2 2 23 4 5

左外连接

A B C E F

1 1 1 2 3

2 2 2

右外连接

A B C E F

1 1 1 2 3

3 4 5

全连接

A B C E F

1 1 1 2 3

2 2 2

3 4 5

INNER

JOIN(内连接):SELECT

*

FROM

TABLE1

T1

INNER

JOIN

TABLE2

T2

ON

T1.ID

=

T2.ID

查询时只有满足了ID的值在俩个表同时存在,才能将此记录查询出来。

FULL

OUTER

JOIN(完全外连接):SELECT

*

FROM

TABLE1

T1

FULL

OUTER

JOIN

TABLE2

T2

ON

T1.ID

=

T2.ID

查询时TABLE1

TABLE2满足内连接的记录会统一成一条记录查询出来。

TABLE1中能找到ID值而在TABLE2中找不到对应的值,此时TABLE1中此记录的值不变,其他TABLE2字段的值补NULL,合并成一条记录查询出来。

反之,TABLE2中能找到ID值而在TABLE1中找不到对应的值,此时TABLE2中此记录的值不变,其他TABLE1字段的值补NULL,合并成一条记录查询出来。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10821614.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存