小编典典

SQL联接:SQL ANSI标准的未来(在何处联接)?

sql

我们正在开发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 joins”。发生这种情况时,我们必须使用“内部联接”样式的联接来修改所有ETL作业。


阅读 176

收藏
2021-05-05

共1个答案

小编典典

我怀疑是否会支持“ where joins”。不支持它们是不可能的,因为它们基于笛卡尔积和简单的过滤。他们实际上不是联接。

但是使用更新的联接语法有很多原因。除其他外:

  • 可读性
  • 可维护性
  • 轻松更改外部联接
2021-05-05