अंतर के बीच अंतर सम्मिलित हों और बाहरी सम्मिलित हों

Anonim

में शामिल होने के परिवार से संबंधित होते हैं बाहरी जॉइन में शामिल हों

इनर जॉइन और बाहरी जॉयिंग एसक्यूएल शामिल होने के दो तरीके हैं जो डेटाबेस के लिए क्वेरी प्रसंस्करण में प्रयुक्त होते हैं। वे जुड़ने वाले परिवार के हैं (दूसरे दो वाम और दायें जुड़ते हैं)। हालांकि, एक स्वयं सम्मिलित है जो विशेष स्थितियों के लिए इस्तेमाल किया जा सकता है जुड़ने का उद्देश्य दो तालिकाओं में सामान्य मानों का उपयोग करके फ़ील्ड को गठबंधन करना है। ये एक डेटाबेस में कई तालिकाओं से रिकॉर्ड को जोड़ती है। यह परिणामी सेट बनाता है, जिसे किसी अन्य तालिका के रूप में सहेजा जा सकता है।

आंतरिक सम्मिलित हों?

आमतौर पर इस्तेमाल किया एसक्यूएल सम्मिलित होने वाला ऑपरेशन इनर जॉइन में है। यह अनुप्रयोगों में प्रयुक्त डिफ़ॉल्ट प्रकार के जुड़ने के रूप में माना जा सकता है। दो तालिकाओं को गठबंधन करने के लिए इन-पर्सेंट का प्रयोग करें। मान लें कि दोनों तालिकाओं में ए और बी हैं, तो एग्नि-पर्सेंट ए और बी की पंक्तियों की तुलना उन सभी जोड़ों को खोजने के लिए करेगी जो विदग्ध को संतुष्ट करते हैं। परिणाम बनाने के लिए ए और बी तालिकाओं की सभी संतुष्ट पंक्तियों के कॉलम मानों को मिलाया जाता है। इसे पहले सभी रिकॉर्डों के क्रॉस जॉइन (कार्टेसीयन उत्पाद) लेते हुए देखा जा सकता है और फिर केवल ऐसे अभिलेख वापस लौटाता है जो सम्मिलित-विधेय को संतुष्ट करते हैं। हालांकि, वास्तव में, कार्टेशियन उत्पाद की गणना नहीं की जाती क्योंकि यह बहुत ही अक्षम है। हैश जुड़ने या सॉर्ट-मर्ज जॉइंट का उपयोग इसके बजाय किया जाता है।

बाह्य क्या शामिल हों?

इसके विपरीत, इनर में शामिल होने के साथ, बाहरी जॉब में सभी रिकॉर्ड रहेंगे, भले ही उसे मिलान रिकॉर्ड न मिलें। इसका अर्थ है बाहरी परिणाम में इसके परिणामस्वरूप एक मिलान रिकॉर्ड खोजने के लिए एक रिकॉर्ड की आवश्यकता होती है। इसके बजाय, यह सभी रिकॉर्ड वापस करेगा, लेकिन बेजोड़ रिकॉर्ड शून्य मूल्यों होगा बाहरी जॉइंट को तीन उप श्रेणियों में विभाजित किया गया है। वे बाहरी जुड़ने, बाएं बाहरी जुड़ने और पूर्ण बाहरी जुड़ने में छोड़ देते हैं। यह भिन्नता उस आधार पर है जिस पर तालिका का (बायां तालिका, दायां तालिका या दोनों तालिकाओं) पंक्ति को बनाए रखा जाता है जब बेजोड़ रिकॉर्ड मिलते हैं। बाईं बाएं जुड़ती (केवल बाएं जुड़ने के रूप में भी जाना जाता है) बाईं तालिका के सभी अभिलेखों को बरकरार रखता है। इसका मतलब है, भले ही संख्या मिलान रिकॉर्ड शून्य है, फिर भी यह परिणाम तालिका में रिकॉर्ड होगा, लेकिन बी के सभी स्तंभों के लिए शून्य मान होंगे। दूसरे शब्दों में, बाईं तालिका से सभी मान सही से मिलान किए गए मान तालिका (या बेतरतीब जब शून्य मान) यदि बाएं तालिका से कई पंक्तियों से मान सही तालिका से एक पंक्ति से मेल खाते हैं, तो सही तालिका से पंक्ति दोहराई जाएगी जैसे कि आवश्यक है बाएं बाहरी जुड़ने में बाएं बाहरी जुड़ने के समान बहुत कुछ है, लेकिन तालिकाओं का उपचार सम्मानित है। इसका अर्थ है कि परिणाम के साथ तालिका के सभी पंक्तियों को कम से कम एक बार सही तालिका के साथ मिलती है (और बेजोड़ सही मानों के लिए शून्य मान)। बाएं और दाएं बाहरी जुड़नार दोनों की तुलना में पूर्ण बाह्य सम्मिलन अधिक व्यापक है। इसका परिणाम बाएं और दाएं बाहरी दोनों को एक साथ जोड़कर लागू करने के प्रभाव के संयोजन में होता है।

इनर जॉइन एंड आउटर में शामिल होने के बीच अंतर क्या है?

आंतरिक सम्मिलित नतीजे में बेमिसाल पंक्तियों को नहीं रखता है, लेकिन बाहरी जुड़ने से कम से कम एक तालिका से सभी अभिलेख रखेगा (यह निर्भर करता है कि बाहरी संयोजन का उपयोग किया गया है)। इसलिए, नतीजे तालिका में बेमेल पंक्तियों पर मौजूद कोई सूचना नहीं होने का व्यवहार अवांछनीय है, आपको हमेशा बाहरी जोड़ों में से एक का उपयोग करना आवश्यक है (आंतरिक प्रवेश के स्थान पर) यदि कोई मेल नहीं मिले, तो इनर जॉब में कोई परिणाम नहीं हो सकता है। लेकिन बाहरी जुड़ाव हमेशा परिणामस्वरूप तालिका उत्पन्न करेगा, यहां तक ​​कि कोई भी मिलान वाली पंक्तियों के साथ नहीं। आंतरिक सम्मिलित हमेशा मूल्यों के साथ तालिकाओं को वापस करेगा (यदि लौट आएगा) लेकिन बाह्य जुड़ने के परिणामस्वरूप रिक्त मूल्यों के साथ तालिकाएं हो सकती हैं