gpt4 book ai didi

sql - 这些连接之间的区别

转载 作者:行者123 更新时间:2023-12-04 23:59:30 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Inner join vs Where

(19 个回答)


7年前关闭。




有什么区别吗

SELECT *
FROM TABLE_A a
JOIN TABLE_B b
ON a.propertyA = b.propertyA

和查询
SELECT * from TABLE_A a, TABLE_B b where a.propertyA=b.propertyA.

最佳答案

INNER JOIN是您在第一个语法中使用的 ANSI (SQL-92) 语法。它通常被认为更具可读性,尤其是当您加入大量表时。
WHERE syntax (SQL-89) 更面向关系模型。两个表 JOIN'ed 的结果是应用过滤器的表的笛卡尔乘积,该过滤器仅选择连接列匹配的那些行。

使用 WHERE 语法更容易看到这一点。

我宁愿去 ANSI输入 join 因为如果你知道如何省略 ON子句,如果省略 where 上的条件,则会生成错误,而旧类型的连接子句不会产生错误信息,因此会生成笛卡尔积。

关于sql - 这些连接之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12345965/

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