我最近了解到在 Oracle 中我们可以做类似的事情
select t1.a, t2.b
from table1 t1, table2 t2
where t1.x = t2.x
Run Code Online (Sandbox Code Playgroud)
这相当于
select t1.a, t2.b
from table1 t1
join table2 t2 on (t1.x=t2.x)
Run Code Online (Sandbox Code Playgroud)
是否有任何性能差异或是否有任何其他论据表明我们应该使用一种样式而不是另一种样式?
一般来说,它们是相等的,但是较低的 - 也称为“ANSI 连接语法”应该是 Oracle 推荐的首选,并且出于许多其他原因,请参阅OUTER JOIN文档。
只有一个例外(我知道):当您创建MATERIALIZED VIEWwith 时,FAST REFRESH您必须使用旧的 Oracle 连接语法,否则无法进行 FAST REFRESH。
很久以前,我为此在 Oracle 中创建了一个 SR。Oracle 不认为这是一个错误,而是“缺乏文档”。据我所知,这个限制/错误仍未解决。