当前位置: 首页 > 面试题库 >

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

韩阳成
2023-03-14
问题内容

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

两个表之间的“ nti-
join”返回第一个表中的行,其中第二个表中没有找到匹配项。反联接本质上是与半联接相反的:半联接返回在第一个表中找到至少一个匹配项
的每一行的一个副本,而反联接则返回半联接中的每一行的一个副本。未找到匹配的第一个表

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

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

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

谢谢。


问题答案:

反半联接就是反联接。

也可以将反联接定义为半联接的补码,如下所示:

R鈻S = R鈭R铈 S

在这种情况下,反联接有时称为反半联接,反联接算子有时被写为半联接符号,并在其上方有一个横杠而不是鈻。

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



 类似资料:
  • 内连接,显示两个表中有联系的所有数据; 左链接,以左表为参照,显示所有数据,右表中没有则以null显示 右链接,以右表为参照显示数据,,左表中没有则以null显示

  • 本文向大家介绍MySQL 的内连接、左连接、右连接有什么区别?相关面试题,主要包含被问及MySQL 的内连接、左连接、右连接有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 内连接关键字:inner join;左连接:left join;右连接:right join。 内连接是把匹配的关联数据显示出来;左连接是左边的表全部显示出来,右边的表显示出符合条件的数据;右连接正好相反。

  • 我在查询中有这个疑问 平等吗?。。。我什么时候可以使用? 提前感谢。

  • 客户端发送另一个请求,服务器再次挂起该请求。 当这种情况持续发生时,会使用多少线程?

  • 问题内容: 因此,我一直在尝试使用python进行一些数据库更新,并且在设置整个开发环境时,遇到了这三件事,这让我感到头晕。 有MySQLdb 有mysqlclient 然后是一个mysql连接器python 它们分别是什么,区别和在哪里使用?谢谢 问题答案: MySQLdb是围绕C模块的瘦Python包装器,该模块实现MySQL数据库的API。 有MySQLDb1包装的版本中使用前一段时间,现在

  • 最近我在使用JDBC,所有使用JDBC的代码都运行得很好。 过了一段时间,我又开始用JDBC来刷新所有的概念。问题是,当时我写新程序的时候,它给了我ClassNotFoundException。我的代码中的一切都很完美。我还添加了MySQL连接器的外部JAR文件。异常是ClassNotFoundException com . MySQL . JDBC . driver。 我尝试了不同的IDE来运行