【问题标题】:what is the difference between an anti-join and an anti semi join?反连接和反半连接有什么区别?
【发布时间】:2016-11-14 20:15:20
【问题描述】:

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

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

不是反半连接而不是反连接“返回第一个表中未找到匹配项的每一行的一个副本”吗?

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

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

谢谢。

【问题讨论】:

    标签: sql database join


    【解决方案1】:

    反半连接就是反连接。

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

    R▷S=R-R⋉S

    鉴于此,反连接有时称为反半连接,反连接运算符有时写为半连接符号,其上方有一个横杠,而不是 ▷。

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

    【讨论】:

      猜你喜欢
      • 2020-08-13
      • 2014-07-06
      • 2023-03-29
      • 2011-09-19
      • 2020-06-15
      • 2011-02-12
      • 1970-01-01
      • 2017-01-03
      • 2017-02-26
      相关资源
      最近更新 更多