Zgodnie z dokumentacją:OD (Transact-SQL):
<join_type> ::=
[ { INNER | { { LEFT | RIGHT | FULL } [ OUTER ] } } [ <join_hint> ] ]
JOIN
Słowo kluczowe OUTER jest oznaczony jako opcjonalny (ujęty w nawiasy kwadratowe). W tym konkretnym przypadku, czy określisz OUTER czy nie, nie ma znaczenia. Zauważ, że chociaż inne elementy klauzuli join są również oznaczone jako opcjonalne, pozostawiając je się będzie zrobić różnicę.
Na przykład cała część typu JOIN klauzula jest opcjonalna, w takim przypadku wartością domyślną jest INNER jeśli po prostu określisz JOIN . Innymi słowy, jest to legalne:
SELECT *
FROM A JOIN B ON A.X = B.Y
Oto lista równoważnych składni:
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
Spójrz także na odpowiedź, którą zostawiłem na to inne pytanie SO:SQL left join a wiele tabel w linii FROM?.
