SQL लेफ्ट जॉइन एक प्रकार का SQL जॉइन है। यह जॉइन एक निर्दिष्ट "बाएं" कॉलम और "दाएं" कॉलम में किसी विशेष स्थिति से मेल खाने वाली संबंधित पंक्तियों से सभी तालिकाओं को लौटाता है।
कई मामलों में, जब आप SQL . में कोई क्वेरी लिख रहे होते हैं , आपको केवल एक तालिका पर ध्यान केंद्रित करने की आवश्यकता होगी। हालाँकि, ऐसी कई स्थितियाँ हैं जहाँ आपको एक ही समय में दो या अधिक तालिकाओं को क्वेरी करने की आवश्यकता होगी। इस स्थिति में, आप एक ऐसा परिणाम बनाना चाहेंगे जो दोनों तालिकाओं की जानकारी को जोड़ता हो।
एसक्यूएल . में , इसे शामिल होने के रूप में जाना जाता है। जॉइन आपको कई तालिकाओं से जानकारी प्राप्त करने और परिणाम को एक सम्मिलित तालिका में संयोजित करने की अनुमति देता है। उदाहरण के लिए, आप प्रत्येक कर्मचारी के लिए विभाग का नाम प्राप्त करने के लिए कर्मचारियों और विभागों की तालिकाओं को एक साथ जोड़ सकते हैं।
इस ट्यूटोरियल में, हम SQL . में एक प्रकार के जॉइन को तोड़ने जा रहे हैं :बाएं शामिल हों . हम चर्चा करेंगे जहां बाएं शामिल हों उपयोगी हैं, और आप अपने SQL . में उनका उपयोग कैसे कर सकते हैं प्रश्न।
एसक्यूएल लेफ्ट जॉइन
एसक्यूएल बाएं शामिल हों आपकी क्वेरी में निर्दिष्ट "बाएं" तालिका से सभी रिकॉर्ड लौटाता है। यह आपकी शर्तों के आधार पर इस तालिका के मानों को "दाएं" तालिका से मिलाता है। "बाएं" तालिका से सभी अभिलेखों के अतिरिक्त कोई भी मिलान लौटाया जाता है। _LEFT JOIN_s एक प्रकार का SQL बाहरी जुड़ाव है।
उदाहरण के लिए, आप प्रत्येक कर्मचारी के लिए विभाग के नाम की सूची प्राप्त करने के लिए लेफ्ट जॉइन का उपयोग कर सकते हैं। यह आपको सभी कर्मचारियों को देखने देगा, भले ही उनके पास कोई विभाग निर्दिष्ट न हो।
बाएं जॉइन . के लिए मूल सिंटैक्स ऑपरेशन इस प्रकार है:
टेबल चुनें.कॉलम1, टेबल2.कॉलम1टेबल1 से बायां टेबल 2 टेबल पर शामिल हों. कॉलम2 =टेबल1.कॉलम2;
हम SQL SELECT स्टेटमेंट के साथ अपना जॉइन शुरू करते हैं। FROM स्टेटमेंट में टेबल हमारी "लेफ्ट" टेबल है। फिर, हम बाएं शामिल हों . का उपयोग करते हैं खोजशब्द। यह हमें एक "दाएं" तालिका निर्दिष्ट करने देता है।
81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।
बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।
हम उस स्थिति को निर्धारित करने के लिए ON स्टेटमेंट का उपयोग करते हैं जिस पर हमारे टेबल जुड़े हुए हैं। बाएं शामिल हों बाहरी जुड़ाव का एक प्रकार है। इस प्रकार, आप इस प्रकार के जुड़ाव को बाएं बाहरी जोड़ . के रूप में संदर्भित देख सकते हैं ।
आइए बाएं जॉइन को स्पष्ट करने के लिए एक उदाहरण का उपयोग करें काम।
लेफ्ट जॉइन SQL उदाहरण
मान लीजिए कि हम विभाग के नामों की एक सूची प्राप्त करना चाहते हैं जहां प्रत्येक कर्मचारी काम करता है। हम एक क्वेरी का उपयोग करके इस जानकारी को पुनः प्राप्त करना चाहते हैं। यहाँ एक प्रश्न है जो हमें यह डेटा प्राप्त करने की अनुमति देगा:
<पूर्व>कर्मचारियों का चयन करें।हमारी क्वेरी सात रिकॉर्ड लौटाती है:
नाम | शीर्षक | विभाग का नाम |
ल्यूक | बिक्री सहयोगी | बिक्री |
माइक | बिक्री सहयोगी | बिक्री |
हन्ना | बिक्री सहयोगी | बिक्री |
ज्योफ | वरिष्ठ बिक्री सहयोगी | बिक्री |
एलेक्सिस | बिक्री सहयोगी | बिक्री |
एम्मा | विपणन निदेशक | विपणन |
योना | विक्रय उपाध्यक्ष | कार्यकारी |
(7 पंक्तियाँ)
हमारी क्वेरी की पहली पंक्ति में, हम निर्दिष्ट करते हैं कि हम तीन कॉलम प्राप्त करना चाहते हैं। हम अपने कर्मचारियों का नाम, उनकी उपाधियाँ और उस विभाग का नाम पुनः प्राप्त करते हैं जिसके लिए वे काम करते हैं। विभाग नाम के रूप में हमारी क्वेरी को बताता है कि विभाग के नाम के कॉलम को DeptName . कहा जाना चाहिए ।
अगली पंक्ति में, हम निर्दिष्ट करते हैं कि हम अपने कर्मचारियों . से जानकारी प्राप्त करना चाहते हैं टेबल। फिर, हम एक बाएं शामिल हों . बनाते हैं उस तालिका और company_departments . के बीच . अंतिम पंक्ति में, हम अपनी दो तालिकाओं को उनके सामान्य मूल्यों का उपयोग करके एक साथ जोड़ते हैं:विभाग_आईडी।
बाएं शामिल हों केवल बाईं तालिका से सभी पंक्तियाँ और दाएँ तालिका से पंक्तियाँ लौटाएँ जिसके लिए शामिल होने की शर्त पूरी होती है।
अगर हमारे पास 9 . की विभाग आईडी वाला कोई कर्मचारी है और वह विभाग मौजूद नहीं है, वे अभी भी हमारे प्रश्न में दिखाई देंगे। अगर हमारे पास कोई कंपनी विभाग है जो अस्तित्व में नहीं है, तो यह हमारे जॉइन . में दिखाई नहीं देगा क्वेरी।
आइए फिर से क्वेरी चलाते हैं, लेकिन इस बार हमारे डेटाबेस में एक नए कर्मचारी के साथ। हमारे नए कर्मचारी के लिए ये मूल्य हैं:
नाम | शीर्षक | विभाग_आईडी |
एडम | वरिष्ठ बिक्री सहयोगी | 9 |
(1 पंक्ति)
विभाग आईडी 9 हमारी तालिका में मौजूद नहीं है company_departments . लेकिन जब हम ऊपर की तरह वही लेफ्ट जॉइन क्वेरी चलाते हैं, तो एडम का रिकॉर्ड अभी भी शामिल है, क्योंकि हम लेफ्ट जॉइन का उपयोग कर रहे हैं। . यहां उसी INNER JOIN . का परिणाम दिया गया है क्वेरी हमने ऊपर निष्पादित की, लेकिन एडम के रिकॉर्ड के साथ:
नाम | शीर्षक | विभाग का नाम |
ल्यूक | बिक्री सहयोगी | बिक्री |
माइक | बिक्री सहयोगी | बिक्री |
हन्ना | बिक्री सहयोगी | बिक्री |
ज्योफ | वरिष्ठ बिक्री सहयोगी | बिक्री |
एलेक्सिस | बिक्री सहयोगी | बिक्री |
एम्मा | विपणन निदेशक | विपणन |
योना | विक्रय उपाध्यक्ष | कार्यकारी |
एडम | वरिष्ठ बिक्री सहयोगी | <टीडी>
निष्कर्ष
एसक्यूएल लेफ्ट जॉइन एक से अधिक तालिका क्वेरी करें और सभी पंक्तियों को एक निर्दिष्ट "बाएं" तालिका से लौटाएं। वे दाएँ तालिका से पंक्तियाँ भी लौटाते हैं जहाँ शामिल हों शर्त पूरी हो गई है।
उदाहरण के लिए, मान लें कि आप ग्राहकों की सूची के साथ-साथ उनके द्वारा सब्सक्राइब की गई लॉयल्टी योजनाओं के नाम भी वापस करना चाहते हैं। यदि लॉयल्टी योजना के नाम किसी भिन्न तालिका में हैं, तो आप उन्हें पुनः प्राप्त करने के लिए लेफ्ट जॉइन का उपयोग कर सकते हैं।
हमने छात्रों को एसक्यूएल के बारे में अपने ज्ञान को आगे बढ़ाने में मदद करने के लिए एक हाउ टू लर्न एसक्यूएल गाइड लिखा है। गाइड में शीर्ष शिक्षण संसाधनों की एक सूची है और आपके रास्ते में आपकी सहायता करने के लिए कुछ विशेषज्ञ सलाह है। हमारे SQL कैसे सीखें पेज पर गाइड देखें।