【发布时间】:2018-11-15 08:26:08
【问题描述】:
我有点困惑。 假设有两个与共同属性 A 的关系。 现在是 (R natural join S)=(R join S where join condition A=A)? 自然连接返回一个公共列 A 由于集合论中定义的关系代数,简单连接是否返回具有相同名称 AA 的两列或 1 个公共列 A??
【问题讨论】:
-
这取决于关系代数的定义。在某些书籍中,(正常)连接要求两个关系的属性具有不同的名称。因此,如果您想将一个表与其自身连接起来,首先您必须重命名两个操作数之一中的所有属性。
-
没有“简单连接”。给出您正在谈论的“关系代数”的参考和/或定义。因为不止一个,它们甚至在关系上也有所不同。解释您所说的“简单连接”是什么意思。 SQL 内连接是 sql 的特定类型产品(“交叉连接”)和限制/选择(“on”)的组合。另外:“AA”是什么意思? “返回 AA 或 A”是什么意思?使用足够的单词、短语和句子来清楚地表达你的意思。 PS 集合论是一回事,而 RA 是另一回事。 RA 的定义可以用集合算术来给出,仅此而已。
-
不是 sql。我说的是关系代数。我已经编辑了这个问题。 @philipxy 说的够清楚了。
-
谢谢@Renzo
-
你没有在我的评论中解决任何问题。您的编辑涉及“AA”,但那是什么?告诉我们您的教科书并引用自然连接的定义并引用您所指的任何其他连接的定义并根据定义解释您认为等式的每一侧的样子并告诉我们您遇到的问题。
标签: relational-algebra relational set-theory natural-join