Conforme a documentação:FROM (Transact-SQL):
<join_type> ::=
[ { INNER | { { LEFT | RIGHT | FULL } [ OUTER ] } } [ <join_hint> ] ]
JOIN
A palavra-chave
OUTER
é marcado como opcional (entre colchetes). Neste caso específico, se você especificar OUTER
ou não não faz diferença. Observe que enquanto os outros elementos da cláusula join também são marcados como opcionais, deixando eles fora vai faça a diferença. Por exemplo, toda a parte de tipo do
JOIN
cláusula é opcional, neste caso o padrão é INNER
se você apenas especificar JOIN
. Em outras palavras, isso é legal:SELECT *
FROM A JOIN B ON A.X = B.Y
Aqui está uma lista de sintaxes equivalentes:
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
Também dê uma olhada na resposta que deixei nesta outra pergunta SO:SQL left join vs multiple tables on FROM line?.