Съгласно документацията:FROM (Transact-SQL):
<join_type> ::=
[ { INNER | { { LEFT | RIGHT | FULL } [ OUTER ] } } [ <join_hint> ] ]
JOIN
Ключовата дума OUTER
е маркиран като незадължителен (заключен в квадратни скоби). В този конкретен случай, дали сте посочили OUTER
или не няма разлика. Имайте предвид, че докато другите елементи на клаузата за присъединяване също са маркирани като незадължителни, оставяйки ги вън ще направи разлика.
Например, цялата част от типа на JOIN
клаузата не е задължителна, като в този случай по подразбиране е INNER
ако просто посочите JOIN
. С други думи, това е законно:
SELECT *
FROM A JOIN B ON A.X = B.Y
Ето списък с еквивалентни синтаксиси:
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
Вижте също отговора, който оставих на този друг въпрос SO:SQL ляво присъединяване срещу множество таблици на линия FROM?.