2009-04-21 14 views
34
the join-op syntax के अनुसार

, SQLite है 13 अलग में शामिल होने के बयान:SQLite समर्थन में क्या शामिल है?

, 
JOIN 
LEFT JOIN 
OUTER JOIN 
LEFT OUTER JOIN 
INNER JOIN 
CROSS JOIN 
NATURAL JOIN 
NATURAL LEFT JOIN 
NATURAL OUTER JOIN 
NATURAL LEFT OUTER JOIN 
NATURAL INNER JOIN 
NATURAL CROSS JOIN 

वे सभी अद्वितीय हैं? कौन सा समकक्ष है?

उत्तर

49

SQLite व्याकरण the SQL-92 spec के से थोड़ा अलग है, जिसके अनुसार, निम्नलिखित अवैध हैं:

*OUTER JOIN 
*NATURAL OUTER JOIN 
*NATURAL CROSS JOIN 

पहले दो, क्योंकि एक <join type>, आदेश OUTER को रोकने के लिए है, यह भी एक को शामिल करना चाहिए इससे पहले <outer join type>। अंतिम, क्योंकि NATURAL केवल <qualified join> में, <cross join> के साथ हो सकता है। ये किसी भी spec के अनुसार व्यवहार करने के लिए प्रतीत नहीं होता है, इसलिए उनसे बचने के लिए एक अच्छा विचार है।

रूप the mailing list पर जवाब था, sqlite3 केवल तीन मिलती समर्थन करता है: CROSS JOIN, INNER JOIN, और LEFT OUTER JOIN। अनुसरण कर रहे हैं बराबर:

, == CROSS JOIN 
JOIN == INNER JOIN 
LEFT JOIN == LEFT OUTER JOIN 

रूप the wikipedia article में विस्तार से बताया प्राकृतिक कीवर्ड खोजने और एक ही नाम स्तंभों पर मिलान के लिए आशुलिपि है, और प्रकार में शामिल होने को प्रभावित नहीं करता।

SQLite page, 'RIGHT' और के अनुसार 'FULL'   OUTER JOIN के समर्थित नहीं हैं।

+0

कोई अधिकार बाहरी या पूर्ण बाहरी समर्थन नहीं है? –

+5

नहीं, और मुझे इसे स्पष्ट रूप से जोड़ने दें, धन्यवाद। –

संबंधित मुद्दे