Podle dokumentace:FROM (Transact-SQL):
<join_type> ::=
[ { INNER | { { LEFT | RIGHT | FULL } [ OUTER ] } } [ <join_hint> ] ]
JOIN
Klíčové slovo OUTER
je označeno jako nepovinné (v hranatých závorkách). V tomto konkrétním případě, zda zadáte OUTER
nebo ne na tom nezáleží. Všimněte si, že zatímco ostatní prvky klauzule spojení jsou také označeny jako volitelné, je ponechány ven bude něco změnit.
Například celá typová část JOIN
klauzule je volitelná, v takovém případě je výchozí hodnota INNER
stačí zadat JOIN
. Jinými slovy, toto je legální:
SELECT *
FROM A JOIN B ON A.X = B.Y
Zde je seznam ekvivalentních syntaxí:
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
Podívejte se také na odpověď, kterou jsem nechal na tuto další otázku SO:SQL levé spojení vs více tabulek na řádku FROM?.