Oracle官方有关使用显式ANSI JOINs和隐式联接的建议吗?

注意:我不是要你告诉我“使用明确的联接”,而是寻找甲骨文的官方职位,如果有的话.

From Oracle database documentation(也出现在9i和11g文件中):

Oracle recommends that you use the FROM clause OUTER JOIN Syntax
rather than the Oracle join operator. Outer join queries that use the
Oracle join operator (+) are subject to the following rules and
restrictions […]

换句话说,甲骨文建议更喜欢这两种形式中的第一种:

FROM a LEFT JOIN b ON b.x = a.x
vs
FROM a,b WHERE b.x(+) = a.x

然而,我从来没有在任何Oracle文档中找到一个建议,最好使用这两种形式之一:

FROM a INNER JOIN b ON b.x = a.x
vs
FROM a,b WHERE b.x = a.x

有没有一个我错过的段落?

如果有的话我没有看到优选外部联接的ANSI语法(除了非标准,特定于Oracle的()符号)的原因是使用ANSI语法可以更好地表达外部联接.限制“ORA-01417:表可能外部连接到最多一个其他表”适用于()外连接,但不适用于ANSI外连接.不适用于ANSI外部联接的其他对()的限制是 documented here.

一位受人尊敬的Oracle专家实际上建议坚持使用内部联接的旧语法 – 参见Jonathan Lewis’s blog.他表示,ANSI连接将转换为传统的Oracle连接.我不同意他100%(我更喜欢ANSI加入我自己一般),但不会声称有一小部分他的知识的话题.

简而言之,ANSI外部连接在技术上优于old()连接,而内部连接更符合风格.

相关文章

Java Oracle 结果集是Java语言中处理数据库查询结果的一种方...
Java AES和Oracle AES是现代加密技术中最常使用的两种AES加密...
Java是一种广泛应用的编程语言,具备可靠性、安全性、跨平台...
随着移动互联网的发展,抽奖活动成为了营销活动中不可或缺的...
Java和Oracle都是在计算机领域应用非常广泛的技术,他们经常...
Java 是一门非常流行的编程语言,它可以运行于各种操作系统上...