回答

收藏

反连接和反半连接有什么区别?

技术问答 技术问答 211 人阅读 | 0 人回复 | 2023-09-14

来自http://www.dbspecialists.com/files/presentations/semijoins.html+ p4 E( Y. o( b3 s* f
两表之间的 nti-
8 H, r( m$ [4 @& G- f/ fjoin返回第一个表中的行,其中第二个表中没有找到匹配项。反本质上与半连接相反:半连接返回至少在第一个表中找到一个匹配项
% @, g9 m9 T4 U/ F4 ^每行的一个副本,反联接在半联接中返回每行的一个副本。没有找到匹配的第一个表    。* [: ]  O! Q* w
是不是“返回未找到匹配项的第一张表中的每一行的一个副本”的反半联接而不是反联接?
5 D, Q. D* H( p& Y0 \; ?; I如果是,反联的定义是什么?: N0 g) K9 _! d( M, o% f
请注意,我的问题是SQL一般水平,如大学教科书水平的数据库概念,而不是特定的SQL RDBMS实现( [9 @. B5 k; I) _) ^9 W
谢谢。& v( u( p: L3 x8 V3 A/ d
                                                                % H8 c( U/ N: n) J- X% g" s
    解决方案:                                                                * X8 k6 d. g$ q* w
                                                                反半连接是反连接。
" z2 u' N. }8 w* i8 P2 _( W反联连接也可定义为半连接补码,如下所示:
: W' v1 Q/ X1 OR鈻S = R鈭R铈 S5 d; }/ {* g# b2 \( ^7 i3 W. C
在这种情况下,反联接有时称为反半联接,反联接算子有时被写为半联接符号,并在其上方有一个横杠而不是鈻。
# E, ^7 z: K. e& s, f! U! p参见https://en.wikipedia.org/wiki/Relational_algebra#Antijoin_.28.E2.96.B7.29
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则