SQL में दो तालिकाएँ मर्ज करें

Sql Mem Do Talika Em Marja Karem



SQL में, टेबल मर्जिंग किसी दिए गए डेटाबेस में दो अलग-अलग तालिकाओं से डेटा को एक सामान्य कॉलम या मानदंड के आधार पर एक इकाई में संयोजित करने की प्रक्रिया को संदर्भित करता है। हां, अगर यह एक टेबल की तरह लगता है, तो यह बिल्कुल वैसा ही है।

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

इस ट्यूटोरियल में, हम टेबल जॉइन या टेबल मर्ज के बुनियादी सिद्धांतों को कवर करेंगे। आइए अपने ज्ञान को पुख्ता करने के लिए वास्तविक दुनिया के टेबल नमूनों को देखें।







नमूना तालिका

इससे पहले कि हम टेबल जॉइन की दुनिया में जाएं, आइए बुनियादी टेबल सेटअप करें जिनका उपयोग हम प्रदर्शन उद्देश्यों के लिए करेंगे।



दो तालिकाओं पर विचार करें जिनमें कर्मचारियों और वेतन की जानकारी शामिल है जैसा कि निम्नलिखित उदाहरण प्रश्नों में दिखाया गया है:



टेबल कर्मचारी बनाएं (

कर्मचारी_आईडी INT ऑटो_वृद्धि प्राथमिक कुंजी,

प्रथम_नाम VARCHAR( पचास ),

अंतिम_नाम VARCHAR( पचास ),

विभाग VARCHAR( पचास )

);

फिर हम नमूना डेटा को कर्मचारी की तालिका में सम्मिलित कर सकते हैं जैसा कि निम्नलिखित प्रश्नों में दिखाया गया है:





कर्मचारियों (प्रथम_नाम, अंतिम_नाम, विभाग) में मान डालें

( 'ऐलिस' , 'स्मिथ' , 'मानव संसाधन' ),

( 'बॉब' , 'जॉनसन' , 'विपणन' ),

( 'चार्ली' , 'विल्सन' , 'वित्त' ),

( 'डेविड' , 'भूरा' , 'बिक्री' ),

( 'ईवा' , 'डेविस' , 'अभियांत्रिकी' );

आइए आगे बढ़ें और वेतन जानकारी को निम्नानुसार संग्रहीत करने के लिए एक नई तालिका बनाएं:

वेतन तालिका बनाएं (

वेतन_आईडी INT ऑटो_वृद्धि प्राथमिक कुंजी,

कर्मचारी_आईडी आईएनटी,

वेतन दशमलव( 10 , 2 ),

प्रारंभ_दिनांक दिनांक,

समाप्ति तिथि दिनांक,

विदेशी कुंजी (कर्मचारी_आईडी) संदर्भ कर्मचारी (कर्मचारी_आईडी)

);

सम्मिलित नमूना डेटा को तालिका में निम्नानुसार जोड़ें:



वेतन (कर्मचारी_आईडी, वेतन, प्रारंभ_तिथि, समाप्ति_तिथि) मानों में सम्मिलित करें
( 1 , 60000.00 , '2023-01-01' , '2023-12-31' ),
( 2 , 55000.00 , '2023-01-01' , '2023-12-31' ),
( 3 , 65000.00 , '2023-01-01' , '2023-12-31' ),
( 4 , 58000.00 , '2023-01-01' , '2023-12-31' ),
( 5 , 70000.00 , '2023-01-01' , '2023-12-31' );

इससे हमें दो तालिकाएँ मिलनी चाहिए जो हमें SQL में तालिका जुड़ने/विलय की अवधारणा को प्रदर्शित करने में मदद कर सकती हैं।

SQL टेबल मर्ज/टेबल जॉइन

आइए विभिन्न प्रकार के टेबल मर्जों का पता लगाएं जो हम कर सकते हैं। जैसे-जैसे हम और अधिक उन्नत की ओर बढ़ेंगे, हम मूलभूत बातों को शामिल करेंगे।

आंतरिक रूप से जुड़ा

SQL में टेबल जॉइन का पहला और सबसे सामान्य प्रकार INNER JOIN है। एक इनर जॉइन हमें एक विशिष्ट स्थिति के आधार पर दो तालिकाओं से पंक्तियों को संयोजित करने की अनुमति देता है। यह प्रकार तब केवल वही पंक्तियाँ लौटाता है जहाँ तालिकाओं के बीच मेल होता है।

आइए हम 'कर्मचारियों' और 'वेतन' तालिकाओं को उदाहरण के रूप में लें जो हमने पहले बनाई थीं। SQL में INNER JOIN करने के लिए, हम INNER JOIN क्लॉज का उपयोग इस प्रकार करते हैं:

चुनना

ई.कर्मचारी_आईडी,

ई.प्रथम_नाम,

ई.अंतिम_नाम,

ई.विभाग,

एस.वेतन

से

कर्मचारी ई

इनर जॉइन वेतन एस पर

e.कर्मचारी_आईडी = s.कर्मचारी_आईडी;

दिए गए उदाहरण क्वेरी में, हम 'कर्मचारी' और 'वेतन' तालिकाओं को 'कर्मचारी_आईडी' कॉलम पर मर्ज करने के लिए एक INNER JOIN का उपयोग करते हैं जो दोनों तालिकाओं में मौजूद है। परिणामी सेट में केवल दोनों तालिकाओं से मेल खाने वाली पंक्तियाँ शामिल हैं।

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

बाईं ओर का बाहरी जोड़

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

चुनना

ई.कर्मचारी_आईडी,

ई.प्रथम_नाम,

ई.अंतिम_नाम,

ई.विभाग,

एस.वेतन

से

कर्मचारी ई

बाएं वेतन में शामिल हों एस

पर

e.कर्मचारी_आईडी = s.कर्मचारी_आईडी;

इस उदाहरण में, हम 'कर्मचारी' और 'वेतन' तालिकाओं को मर्ज करने के लिए एक लेफ्ट आउटर जॉइन करते हैं। 'कर्मचारी' तालिका से सभी पंक्तियाँ शामिल की गई हैं और 'वेतन' तालिका से मेल खाने वाली पंक्तियाँ जोड़ी गई हैं। हालाँकि, गैर-मिलान पंक्तियों के लिए NULL मान 'वेतन' कॉलम में शामिल किए गए हैं।

एसक्यूएल यूनियन

SQL में तालिकाओं को जोड़ने का एक अन्य तरीका UNION ऑपरेटर का उपयोग करना है। यह ऑपरेटर हमें दो या दो से अधिक चयनित कथनों के परिणामों को एक एकल परिणाम सेट में संयोजित करने की अनुमति देता है।

यूनियन को लागू करने के लिए प्रत्येक SELECT स्टेटमेंट के कॉलम में समान डेटा प्रकार होना चाहिए।

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

कर्मचारी_आईडी, प्रथम_नाम, अंतिम_नाम, विभाग, शून्य वेतन का चयन करें

कर्मचारियों से इ

मिलन

कर्मचारी_आईडी चुनें, प्रथम नाम शून्य, अंतिम नाम शून्य, विभाग शून्य, वेतन चुनें

वेतन से ;

इस मामले में, एक यूनियन 'कर्मचारी' और 'वेतन' तालिकाओं को मिला देता है। फिर हम यह सुनिश्चित करने के लिए प्रत्येक SELECT कथन में NULL कॉलम बनाते हैं कि दोनों तालिकाओं में समान संख्या में कॉलम हों।

UNIONS तकनीकी रूप से सामान्य हैं लेकिन वे विशेष रूप से उपयोगी हो सकते हैं जब आपको तालिकाओं को विभिन्न संरचनाओं के साथ मर्ज करने की आवश्यकता होती है।

निष्कर्ष

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