admin

SQL Server 中的 LEFT JOIN 与 LEFT OUTER JOIN

sql

LEFT JOIN和 和有LEFT OUTER JOIN什么区别?


阅读 218

收藏
2021-07-01

共1个答案

admin

根据文档:FROM (Transact-SQL)

<join_type> ::= 
    [ { INNER | { { LEFT | RIGHT | FULL } [ OUTER ] } } [ <join_hint> ] ]
    JOIN

关键字OUTER标记为可选(括在方括号中)。在这种特定情况下,是否指定OUTER都没有区别。请注意,虽然 join 子句的其他元素也被标记为可选,但将它们排除在外有所不同。

例如,JOIN子句的整个类型部分是可选的,在这种情况下,INNER如果您只指定JOIN. 换句话说,这是合法的:

SELECT *
FROM A JOIN B ON A.X = B.Y

以下是等效语法的列表:

A LEFT JOIN B            A LEFT OUTER JOIN B
A RIGHT JOIN B           A RIGHT OUTER JOIN B
A FULL JOIN B            A FULL OUTER JOIN B
A INNER JOIN B           A JOIN B
2021-07-01