Come da documentazione:DA (Transact-SQL):
<join_type> ::=
[ { INNER | { { LEFT | RIGHT | FULL } [ OUTER ] } } [ <join_hint> ] ]
JOIN
La parola chiave OUTER
è contrassegnato come opzionale (racchiuso tra parentesi quadre). In questo caso specifico, se specifichi OUTER
o no non fa differenza. Nota che mentre anche gli altri elementi della clausola join sono contrassegnati come opzionali, lasciando li fuori farà fare la differenza.
Ad esempio, l'intera parte del tipo di JOIN
la clausola è facoltativa, nel qual caso l'impostazione predefinita è INNER
se specifichi semplicemente JOIN
. In altre parole, questo è legale:
SELECT *
FROM A JOIN B ON A.X = B.Y
Ecco un elenco di sintassi equivalenti:
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
Dai anche un'occhiata alla risposta che ho lasciato su quest'altra domanda SO:SQL left join vs più tabelle sulla linea FROM?.