SOL JOINile
LEFT OUTER JOIN` arasındaki fark nedir?
Belgelere göre: FROM (Transact-SQL):
<join_type> ::=
[ { INNER | { { LEFT | RIGHT | FULL } [ OUTER ] } } [ <join_hint> ] ]
JOIN
OUTERanahtar sözcüğü isteğe bağlı olarak işaretlenmiştir (köşeli parantez içine alınmıştır). Bu özel durumda,
OUTER` belirtmeniz ya da belirtmemeniz bir fark yaratmaz. Birleştirme cümlesinin diğer öğeleri de isteğe bağlı olarak işaretlenmiş olsa da, onları dışarıda bırakmanın fark yaratacağını unutmayın.
Örneğin, JOIN
cümlesinin tüm tür kısmı isteğe bağlıdır, bu durumda sadece JOIN
belirtirseniz varsayılan INNER
olur. Başka bir deyişle, bu yasaldır:
SELECT *
FROM A JOIN B ON A.X = B.Y
İşte eşdeğer sözdizimlerinin bir listesi:
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
Ayrıca bu diğer SO sorusuna bıraktığım cevaba da bir göz atın: SQL left join vs multiple tables on FROM line?.
Sol birleştirme ile sol dış birleştirme arasındaki fark nedir?
Hiçbir şey. LEFT JOINve
LEFT OUTER JOIN` eşdeğerdir.