2013-07-12 8 views
5

में शामिल होते हैं तालिकाओं में शामिल होने के एक पारंपरिक रूप सेकई तालिकाओं से क्यों का चयन बिना

SELECT * FROM t1, t2 WHERE t1.id = t2.t1_id; 

की तरह शामिल होने की SQL89 तरह से उपयोग कर सकते हैं लेकिन SQL92 मानक के बाद से, हम अब शामिल हों वाक्य रचना

SELECT * FROM t1 JOIN t2 on t1.id=t2.t1_id; 
का उपयोग कर शामिल हो सकते हैं

क्या कोई कारण है कि कोई भी शामिल होने के बिना एकाधिक टेबल से SELECT क्यों होगा? अब, मुझे पता है कि लोग UNION का उपयोग कर डेटा को समेकित करते हैं, लेकिन यह वह नहीं है जिसके बारे में मैं बात कर रहा हूं।

क्या हम पीछे की संगतता के लिए FROM खंड में अल्पविराम के साथ तालिकाओं को जोड़ते हैं? या क्या कोई यथार्थवादी परिदृश्य है जो पुरानी वाक्यविन्यास का उपयोग करके बस शामिल होकर असंभव होगा?

+1

हम गुणाओं के चक्रों का उपयोग करते समय गुणाओं का उपयोग क्यों करेंगे? वैसे भी, +1 –

+0

संभावित डुप्लिकेट [एसएनसी एएनएसआई-9 2 मानक एएनएसआई -8 9 पर बेहतर ढंग से अपनाया क्यों नहीं है?] (http://stackoverflow.com/questions/334201/why-isnt-sql-ansi-92- मानक -बेटटर-गोद-ओवर-ansi-89) – LittleBobbyTables

+0

'क्या कोई कारण है कि कोई भी शामिल होने के बिना एकाधिक तालिकाओं से चयन करेगा?' शायद वे कार्टेशियन उत्पाद चाहते हैं? – LittleBobbyTables

उत्तर

5

यदि आपको किसी कारण से पूर्ण कार्टशियन उत्पाद की आवश्यकता है तो यह उपयोगी हो सकता है। उदाहरण के लिए यदि आपके पास कार मॉडल टेबल और कार रंग तालिका थी और आप उन सभी विकल्पों को गिनना चाहते थे जिन्हें आपको शामिल होने की आवश्यकता नहीं है। कहा जा रहा है कि, मैं इसे एक बढ़त मामला मानता हूं।

+0

मुझे लगता है कि 'पूर्ण बाहरी जॉइन' –

+0

के साथ पूरा किया जा सकता है, मुझे लगता है कि आप सही हैं, मैं बस 'तालिका 1, तालिका 2' वाक्यविन्यास के किसी भी संभावित उपयोग के बारे में सोच रहा था। मुझे लगता है कि एक बाहरी या क्रॉस जॉइन अधिक वास्तविक के साथ – munch1324

+0

+1 वास्तविक, यद्यपि दूरस्थ, उदाहरण के लिए होगा –

3

मैं मानता हूं कि मांसपेशियों की स्मृति में प्रवेश होता है और कभी-कभी मैं सोचने से पहले 89 तरीके का उपयोग करता हूं। लेकिन मैं 92 विधि पसंद करता हूं क्योंकि यह WHERE क्लॉज क्लीनर रखता है। WHERE क्लॉज में केवल एक ही स्थिति आपके व्यापार मामले से प्रासंगिक है, जबकि संबंधों को परिभाषित करने के लिए केवल मानदंड मौजूद हैं जो जॉइन क्लॉज में अच्छी तरह से हैं।

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