एसक्यूएल आउटर जॉइन

Esakyu Ela A Utara Jo Ina



कहने की जरूरत नहीं है कि जॉइन्स रिलेशनल डेटाबेस की सबसे पहचान योग्य विशेषताओं में से एक है। जॉइन्स हमें सुसंगत डेटा ऑपरेशन बनाने के लिए संबंधित स्थिति के आधार पर एक या अधिक तालिकाओं से डेटा को संयोजित करने की अनुमति देते हैं।

SQL में विभिन्न प्रकार के जॉइन होते हैं, प्रत्येक का एक अनोखा तरीका होता है कि वह भाग लेने वाली तालिकाओं या परिणामी सेट से डेटा को कैसे संभालता है। SQL में सबसे सामान्य प्रकार का जुड़ाव OUTER JOIN है।







SQL में एक OUTER JOIN शामिल तालिकाओं से सभी मिलान पंक्तियों के साथ-साथ एक या दोनों तालिकाओं से बेजोड़ पंक्तियों को पुनः प्राप्त करता है। यह तब काम आता है जब आप उन तालिकाओं से निपट रहे होते हैं जिनमें NULL मान या गुम सेट होते हैं।



आइए आगे देखें कि ये जॉइन क्या करते हैं, कैसे काम करते हैं और हम इन्हें SQL डेटाबेस में कैसे उपयोग कर सकते हैं।



आवश्यकताएं:

इस ट्यूटोरियल के लिए, हम MySQL 8.0 के साथ काम करेंगे और सकीला नमूना डेटाबेस का उपयोग करेंगे। हालाँकि, किसी भी अन्य डेटासेट का उपयोग करने के लिए स्वतंत्र महसूस करें जो आपको लागू लगे।





बाहरी जोड़ के प्रकार

SQL में तीन मुख्य प्रकार के OUTER JOINS होते हैं। इस प्रकार के बाहरी जोड़ों में शामिल हैं:

  1. बायां बाहरी जोड़

  2. बाएँ बाहरी जोड़ के मामले में, जोड़ बाएँ तालिका से सभी पंक्तियों को और दाएँ तालिका से केवल मेल खाने वाली पंक्तियों को पुनः प्राप्त करता है। यदि सही तालिका से कोई मेल खाने वाली पंक्तियाँ नहीं हैं, तो जॉइन सही तालिका के कॉलम के लिए NULL मान लौटाता है।



  3. दायां बाहरी जोड़

  4. यह राइट आउटर जॉइन के समान है। हालाँकि, यह दाहिनी तालिका से सभी पंक्तियों को पुनर्प्राप्त करता है लेकिन बाईं तालिका से केवल मेल खाने वाली पंक्तियों को। यदि बाईं तालिका से कोई मेल खाने वाली पंक्तियाँ नहीं हैं, तो जुड़ाव में बाईं तालिका के स्तंभों के लिए NULL मान शामिल हैं।

  5. पूर्ण बाहरी जोड़

  6. अंत में, हमारे पास पूर्ण बाहरी जोड़ हैं। इस प्रकार का जोड़ दाएं और बाएं दोनों बाहरी जोड़ों को जोड़ता है। परिणामस्वरूप, बाईं या दाईं तालिका में मिलान होने पर जॉइन सभी पंक्तियों को पुनः प्राप्त कर लेता है। यदि कोई मिलान नहीं है, तो जॉइन बिना किसी मिलान के तालिका से कॉलम के लिए NULL मान लौटाता है।

SQL आउटर जॉइन का सिंटैक्स

निम्नलिखित SQL OUTER JOIN के सिंटैक्स को व्यक्त करता है। हालाँकि यह ध्यान रखना अच्छा है कि लक्ष्य डेटाबेस इंजन के आधार पर सिंटैक्स थोड़ा भिन्न हो सकता है।

निम्नलिखित एक सामान्य संरचना है:

कॉलम चुनें
तालिका1 से
[बाएँ | सही | पूर्ण] बाहरी जोड़ तालिका 2
टेबल1.कॉलम_नाम = टेबल2.कॉलम_नाम पर;

SQL में OUTER JOIN का सिंटैक्स काफी आत्म-व्याख्यात्मक है।

उदाहरण:

आइए कुछ नमूना उपयोग देखें कि हम SQL में विभिन्न प्रकार के OUTER JOINS को कैसे लागू कर सकते हैं।

जैसा कि हमने बताया, हम प्रदर्शन के लिए सकीला नमूना डेटाबेस का उपयोग करेंगे। इस मामले में, हम 'ग्राहक' और 'भुगतान' तालिकाओं का उपयोग करते हैं।

उदाहरण 1: बायां बाहरी जोड़

आइए एक बाहरी जोड़ से शुरुआत करें। मान लीजिए कि हम ग्राहक की सभी जानकारी और उनकी भुगतान जानकारी, यदि उपलब्ध हो, पुनः प्राप्त करना चाहते हैं।

यह बाएं बाहरी जोड़ को लागू करता है क्योंकि हम सभी ग्राहक जानकारी (बाईं ओर) और भुगतान जानकारी, यदि उपलब्ध हो (दाएं) चाहते हैं।

यदि ग्राहक ने कोई भुगतान नहीं किया है, तो जॉइन भुगतान-संबंधित कॉलम के लिए NULL मान दिखाएगा।

एक उदाहरण इस प्रकार है:

चुनना
सी.ग्राहक_आईडी,
सी.प्रथम_नाम,
सी.अंतिम_नाम,
पी.राशि,
पी.भुगतान_तिथि
से
ग्राहक सी
लेफ्ट आउटर जॉइन पेमेंट पी
पर
सी.ग्राहक_आईडी = पी.ग्राहक_आईडी;

दी गई क्वेरी में, हम 'ग्राहक_आईडी', 'प्रथम_नाम' और 'अंतिम_नाम' कॉलम को 'ग्राहक' तालिका से शामिल करते हैं। हम 'भुगतान' तालिका से राशि और 'भुगतान तिथि' भी शामिल करते हैं।

फिर हम 'ग्राहक_आईडी' के आधार पर 'ग्राहक' और 'भुगतान' तालिकाओं के बीच एक बायां बाहरी जोड़ निष्पादित करते हैं।

ये सभी ग्राहक हैं (चाहे भुगतान किया गया हो या नहीं) उनके भुगतान विवरण (यदि कोई हो) के साथ।

एक उदाहरण आउटपुट इस प्रकार है:

उदाहरण 2: दायां बाहरी जोड़

अब, दाएँ बाहरी जोड़ पर चलते हैं। मान लीजिए कि हम इस मामले में सभी भुगतान जानकारी और संबंधित ग्राहक, यदि कोई हो, को शामिल करना चाहते हैं।

इस मामले में, यदि किसी ग्राहक द्वारा भुगतान किया जाता है, तो जॉइन उस ग्राहक का विवरण प्रदर्शित करेगा। यदि बिना किसी संबद्ध ग्राहक के भुगतान किया गया है, तो यह ग्राहक-संबंधित कॉलम के लिए NULL मान दिखाएगा।

चुनना
सी.ग्राहक_आईडी,
सी.प्रथम_नाम,
सी.अंतिम_नाम,
पी.राशि,
पी.भुगतान_तिथि
से
ग्राहक सी
राइट आउटर जॉइन भुगतान पी
पर
सी.ग्राहक_आईडी = पी.ग्राहक_आईडी;

परिणामी सेट इस प्रकार है:

उदाहरण 3: पूर्ण बाहरी जुड़ाव

दूसरी ओर, एक पूर्ण बाहरी जुड़ाव, सभी ग्राहक जानकारी और भुगतान पुनः प्राप्त करता है। इसमें सभी ग्राहक और सभी भुगतान शामिल हैं और जहां तालिकाओं के बीच कोई मिलान नहीं है, वहां शून्य मान दिखाता है।

चुनना
सी.ग्राहक_आईडी,
सी.प्रथम_नाम,
सी.अंतिम_नाम,
पी.राशि,
पी.भुगतान_तिथि
से
ग्राहक सी
पूर्ण बाहरी जोड़ भुगतान पी
पर
सी.ग्राहक_आईडी = पी.ग्राहक_आईडी;

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

निष्कर्ष

इस ट्यूटोरियल में, हमने OUTER JOINS के बारे में सब कुछ सीखा। हमने सीखा कि SQL में OUTER JOIN क्या है, OUTER JOINS के प्रकार, और इस प्रकार के OUTER JOINS का उपयोग कैसे करें के उदाहरण।