LEFT JOIN和 和有LEFT OUTER JOIN什么区别?
LEFT JOIN
LEFT OUTER JOIN
根据文档:FROM (Transact-SQL):
<join_type> ::= [ { INNER | { { LEFT | RIGHT | FULL } [ OUTER ] } } [ <join_hint> ] ] JOIN
关键字OUTER标记为可选(括在方括号中)。在这种特定情况下,是否指定OUTER都没有区别。请注意,虽然 join 子句的其他元素也被标记为可选,但将它们排除在外会有所不同。
OUTER
例如,JOIN子句的整个类型部分是可选的,在这种情况下,INNER如果您只指定JOIN. 换句话说,这是合法的:
JOIN
INNER
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