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

时间:2016-11-14 20:15:21

标签: sql database join

来自http://www.dbspecialists.com/files/presentations/semijoins.html

  

两个表之间的“反连接”返回第一个表中的行   在第二个表中找不到匹配项。反连接是   基本上与半连接相反:半连接返回一个   第一个表中每行至少有一个匹配项的副本   发现,反连接返回第一个表中每行的一个副本   找不到匹配项

不是反半连接而不是反连接是一个"返回第一个表中没有找到匹配项的每一行的一个副本"?

如果是,反连接的定义是什么?

请注意,我的问题是在SQL的一般级别,例如关于数据库概念的大学教科书级别,而不是特定于特定SQL RDBMS实现的级别

感谢。

1 个答案:

答案 0 :(得分:5)

反半连接是反连接。

  

反连接也可以定义为半连接的补体,如下:

     

R▷S = R - R⋉S

     

鉴于此,反连接有时被称为反半连接,反连接操作符有时被写为半连接符号,上面有一个条,而不是▷。

请参阅https://en.wikipedia.org/wiki/Relational_algebra#Antijoin_.28.E2.96.B7.29