如果我明确想要 INNER JOIN,省略 INNER 关键字是否安全?

dak*_*kab 5 sql join

这不是那么重要(请注意),但它是一个句法特殊性,它是关于可移植性的,我没有找到引用可靠资源或规范的问题(或答案),所以我很好奇:

它是安全的省略INNER关键字,如果我明确地想INNER JOIN

我所说的“安全”是指:

  • 它适用于 SQL Server 2000 和 2016。
  • 它可以在任何其他 SQL 风格中工作,而无需FROM调整子句。
  • 它的向后和向前兼容性不仅仅是一个确定的赌注。
  • 它的可靠性得到了符合标准的支持。

关于INNERMSDN 文档(对于 2005 到 2014 版本)说:

如果未指定联接类型,则这是默认设置。

PostgreSQL文档含蓄指出:

[ INNER ] JOIN

我没有在MySQL 参考手册中找到相应的语句,也没有在网上搜索 Oracle 或 ANSI/ISO SQL,后者特别感兴趣。

SQL*_*ics 6

s的INNER/OUTER名称JOIN是一种语法糖。AJOIN表示它是INNER默认的。同样地,LEFT JOINRIGHT JOIN意味着OUTER默认。据我所知,这是一个通用的 SQL。