最佳答案
在我工作过的每一家公司,我都发现人们仍然使用 ANSI-89标准编写 SQL 查询:
select a.id, b.id, b.address_1
from person a, address b
where a.id = b.id
而不是 ANSI-92标准:
select a.id, b.id, b.address_1
from person a
inner join address b
on a.id = b.id
对于这样一个非常简单的查询,可读性没有很大的区别,但是对于大型查询,我发现将我的连接条件分组并列出表格可以更容易地查看我的连接中可能出现的问题,并且让我将所有的过滤都保留在 WHERE 子句中。更不用说我觉得外部连接比 Oracle 中的(+)语法更直观。
当我试图向人们传播 ANSI-92时,使用 ANSI-92比使用 ANSI-89有什么具体的性能好处吗?我想自己尝试一下,但是我们这里的 Oracle 设置不允许我们使用 EXPLAIN PLAN-不会希望人们尝试优化他们的代码,不是吗?