Gemäß der Dokumentation:FROM (Transact-SQL):
<join_type> ::=
[ { INNER | { { LEFT | RIGHT | FULL } [ OUTER ] } } [ <join_hint> ] ]
JOIN
Das Schlüsselwort OUTER
ist als optional gekennzeichnet (in eckige Klammern gesetzt). In diesem speziellen Fall, ob Sie OUTER
angeben oder nicht macht keinen unterschied. Beachten Sie, dass die anderen Elemente der Join-Klausel zwar ebenfalls als optional gekennzeichnet sind, aber sie belassen werden aus wird einen Unterschied machen.
Zum Beispiel der gesamte Typ-Teil des JOIN
-Klausel ist optional, in diesem Fall ist der Standardwert INNER
wenn Sie einfach JOIN
angeben . Mit anderen Worten, dies ist legal:
SELECT *
FROM A JOIN B ON A.X = B.Y
Hier ist eine Liste äquivalenter Syntaxen:
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
Sehen Sie sich auch die Antwort an, die ich auf diese andere SO-Frage hinterlassen habe:SQL left join vs multiple tables on FROM line?.