我们正在开发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
我的问题是,从长远来看,是否有使用旧“加入”的风险?这种连接支持多长时间并保持为ANSI标准?我们的平台是sql Server,我的主要原因是将来不再支持这些“where join”.发生这种情况时,我们必须使用“内连接”连接方式修改所有ETL作业.
解决方法
@H_404_13@ 我怀疑“哪里加入”将不受支持.它不可能不支持它们,因为它们基于笛卡尔积和简单的滤波.它们实际上不是连接.但是使用较新的连接语法有很多原因.其中:
>可读性>可维护性>更容易更改外连接