दस्तावेज़ीकरण के अनुसार:FROM (Transact-SQL):
<join_type> ::=
[ { INNER | { { LEFT | RIGHT | FULL } [ OUTER ] } } [ <join_hint> ] ]
JOIN
कीवर्ड OUTER
वैकल्पिक के रूप में चिह्नित किया गया है (वर्ग कोष्ठक में संलग्न)। इस विशिष्ट मामले में, क्या आप OUTER
specify निर्दिष्ट करते हैं या नहीं कोई फर्क नहीं पड़ता। ध्यान दें कि जबकि जॉइन क्लॉज के अन्य तत्वों को भी वैकल्पिक के रूप में चिह्नित किया गया है, उन्हें . छोड़कर बाहर होगा फर्क पड़ता है।
उदाहरण के लिए, 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 लेफ्ट जॉइन बनाम मल्टीपल टेबल्स ऑन लाइन?।