क्या बिना ONकथन के जुड़ना लिखना संभव है ? और ये जुड़ाव कैसे अलग LEFT JOIN, RIGHT JOINकाम करते हैं।
क्या बिना ONकथन के जुड़ना लिखना संभव है ? और ये जुड़ाव कैसे अलग LEFT JOIN, RIGHT JOINकाम करते हैं।
जवाबों:
MySQL प्रलेखन इस विषय को शामिल किया गया।
यहाँ एक सार है। उपयोग करते समय joinया inner join, onहालत वैकल्पिक है। यह एएनएसआई मानक से अलग है और लगभग किसी भी अन्य डेटाबेस से अलग है। प्रभाव एक है cross join। इसी तरह, आप एक onक्लॉज़ का उपयोग कर सकते हैं cross join, जो मानक एसक्यूएल से भी भिन्न होता है।
एक क्रॉस जॉइन एक कार्टेशियन उत्पाद बनाता है - अर्थात, पहली पंक्ति से 1 पंक्ति का हर संभव संयोजन और दूसरी से 1 पंक्ति। क्रॉस तीन पंक्तियों ('ए', 'बी', और 'सी') के साथ एक तालिका के लिए जुड़ता है और चार पंक्तियों वाली तालिका (जैसे 1, 2, 3, 4) में 12 पंक्तियाँ होंगी।
व्यवहार में, यदि आप एक क्रॉस जॉइन करना चाहते हैं, तो उपयोग करें cross join:
from A cross join B
इससे बहुत बेहतर है:
from A, B
तथा:
from A join B -- with no on clause
onखंड एक सही करने के लिए आवश्यक या बाहरी में शामिल होने, इसलिए चर्चा उनके लिए प्रासंगिक नहीं है छोड़ दिया है।
यदि आपको विभिन्न प्रकार के जॉन्स को समझने की आवश्यकता है, तो आपको रिलेशनल डेटाबेस पर कुछ अध्ययन करने की आवश्यकता है। चर्चा के उस स्तर के लिए स्टैकओवरफ़्लो एक उपयुक्त स्थान नहीं है।
कुछ उदाहरण देखें http://www.sitepoint.com/understanding-sql-joins-mysql-database/ में
आप 'ON' के बजाय 'USING' का उपयोग क्वेरी में कर सकते हैं
SELECT * FROM table1 LEFT JOIN table2 USING (id);
ONसर्वर सर्वर को बताता है कि टेबल कैसे संबंधित हैं, नहीं। यदि आपके अलग-अलग प्रकार के सभी समान परिणाम देते हैं तो आप इसे किसी भी तरह से गलत कर रहे हैं, और कुछ कोड जोड़ने से हमें आपकी समस्या का पता लगाने में मदद मिल सकती है। अलग-अलग प्रकार के प्रकारों के लिए 2 मिनट के इंट्रो के लिए जेफ एटवुड के ब्लॉग पर माध्य समय में ।