Enligt dokumentationen:FROM (Transact-SQL):
<join_type> ::=
[ { INNER | { { LEFT | RIGHT | FULL } [ OUTER ] } } [ <join_hint> ] ]
JOIN
Nyckelordet OUTER
är markerad som tillval (omsluten inom hakparenteser). I det här specifika fallet, om du anger OUTER
eller inte gör ingen skillnad. Observera att medan de andra elementen i join-satsen också är markerade som valfria, lämnar dem ut kommer göra skillnad.
Till exempel hela typdelen av JOIN
satsen är valfri, i vilket fall standarden är INNER
om du bara anger JOIN
. Med andra ord, detta är lagligt:
SELECT *
FROM A JOIN B ON A.X = B.Y
Här är en lista över likvärdiga syntaxer:
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
Ta också en titt på svaret jag lämnade på den här andra SO-frågan:SQL left join vs multiple tables on FROM line?.