gpt4 book ai didi

SQL 连接 : Future of the SQL ANSI Standard (where vs join)?

转载 作者:行者123 更新时间:2023-12-02 11:49:13 25 4
gpt4 key购买 nike

我们正在开发 ETL 作业,我们的顾问在连接表时一直使用“旧式”SQL

select a.attr1, b.attr1
from table1 a, table2 b
where a.attr2 = b.attr2

而不是使用内连接子句

select a.attr1, b.attr1
from table1 as a inner join table2 as b
on a.attr2 = b.attr2

我的问题是,从长远来看,使用旧的“where join”是否存在风险?这种连接作为 ANSI 标准支持并保留多久?我们的平台是 SQL Server,我的主要原因是将来不再支持这些“where join”。发生这种情况时,我们必须使用“内连接”样式的连接来修改所有 ETL 作业。

最佳答案

与其担心 future 可能出现的风险,为什么不担心您现在面临的风险呢?

除了马克的观点之外:

  • 当 ON 子句与连接表断开连接(有时断开很多行)时,代码更难阅读(从而理解其目的)。这增加了修改代码时出错的可能性。
  • 确定正在执行何种类型的 JOIN - 您必须浏览 WHERE 子句并希望您所看到的是正确的。
  • 查找缺失的 JOIN 子句要困难得多,增加了无意中笛卡尔连接的风险 - 当您使用 ANSI 语法时,ON 子句会很好地排列,从而使这变得微不足道。

关于SQL 连接 : Future of the SQL ANSI Standard (where vs join)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3684259/

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