gpt4 book ai didi

mysql - 如果我自然加入这两个表,为什么结果是这样的? (基本上,请解释。)

转载 作者:可可西里 更新时间:2023-11-01 08:35:43 25 4
gpt4 key购买 nike

A B   C D
1 3 3 3
3 3

结果很明显,自然加入后

A B C D
1 3 3 3
3 3 3 3

这是为什么?我认为自然连接要求在这两种情况下具有相似的属性?第一张表连C、D属性都没有,怎么加入?

例如,我们的教授说这两个连接是因为对于第一个结果行,C 是相同的,第二个也是相同的。

A B C    C D
1 2 3 3 1
4 5 6 6 2
7 8 9

还是它们只是正常合并?如果那里的第二个表中的 6 2 之后有一个 2 1,合并将如何出现?

最佳答案

交叉连接不需要任何类型的匹配条件 - 集合 A 中的每一行都与集合 B 中的每一行匹配。

其他类型的连接(INNEROUTERLEFTRIGHT)都匹配一个条件并且所以通常更受限制(即“仅将 Set A 的一行与 Set B 的一行连接 iff (当且仅当)C 列中的值 Set A 匹配集合 B 中 C 列中的值")。

但是,您可以通过简单地使条件始终为真来有效地进行CROSS连接:

SELECT *
FROM SetA
LEFT INNER JOIN SetB
ON 1 = 1 -- Voila, instant cross join

关于mysql - 如果我自然加入这两个表,为什么结果是这样的? (基本上,请解释。),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12966350/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com