gpt4 book ai didi

sql - 叉积(交叉连接,笛卡尔积)和自然连接的区别

转载 作者:行者123 更新时间:2023-12-04 23:21:11 31 4
gpt4 key购买 nike

在用 SQL 编写时,我怎么知道我应该使用交叉乘积(交叉联接、笛卡尔乘积)还是自然联接?

最佳答案

CROSS JOIN从两个表中创建所有可能的行配对,无论它们是否匹配。您不会对叉积使用任何连接条件,因为该条件对于任何配对始终为真。

使用 CROSS JOIN 的示例:您有 ShoeColors 和 ShoeSizes 表,并且您想知道有多少种可能的组合。 SELECT COUNT(*) FROM ShoeColors CROSS JOIN ShoeSizes;NATURAL JOIN就像一个 INNER JOIN ,但它假定条件相等并适用于出现在两个表中的所有列名称。我从不使用 NATURAL JOIN ,因为我不能仅仅因为列具有相同的名称就假设它们应该相关。这将需要一个非常严格的列命名约定,实际上没有一个真实世界的项目有这样的规则。

关于sql - 叉积(交叉连接,笛卡尔积)和自然连接的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26317745/

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