क्रेग फ्रीडमैन के ब्लॉग, नेस्टेड लूप्स जॉइन में , वह बताते हैं कि नेस्टेड लूप्स ज्वाइन क्यों नहीं एक सही बाहरी जुड़ाव का समर्थन कर सकते हैं:
समस्या यह है कि हम आंतरिक तालिका को कई बार स्कैन करते हैं - एक बार बाहरी पंक्ति की प्रत्येक पंक्ति के लिए। हम इन एकाधिक स्कैन के दौरान कई बार एक ही आंतरिक पंक्तियों का सामना कर सकते हैं। किस बिंदु पर हम निष्कर्ष निकाल सकते हैं कि एक विशेष आंतरिक पंक्ति शामिल नहीं हुई है या नहीं?
क्या कोई कृपया इसे वास्तव में सरल और शैक्षिक तरीके से समझा सकता है?
क्या इसका मतलब है कि लूप बाहरी तालिका ( R1) और आंतरिक ( R2) स्कैन से शुरू होता है ?
मैं समझता हूं कि उस R1मूल्य के लिए R2, जो इसके साथ नहीं जुड़ता है , इसे NULLपरिणाम सेट के साथ बदल दिया जाना चाहिए ( NULL, R2)। मेरे लिए ऐसा लगता है कि R2जब मूल्य R1शामिल नहीं होता है, तो इस कारण से लौटना असंभव है कि यह नहीं जान सकता कि किस R2मूल्य को वापस करना है। लेकिन इसका तरीका यह नहीं बताया गया है। या यह है?
एसक्यूएल सर्वर तथ्य का अनुकूलन में करता है (और अक्सर बदल देता है) RIGHT JOINके साथ LEFT JOINहै, लेकिन सवाल क्यों यह है समझाने के लिए है तकनीकी रूप से असंभव एक के लिए NESTED LOOPS JOINउपयोग करने के लिए / समर्थन RIGHT JOINतर्क।