SQL JOIN उनके संबंध के आधार पर एक या एक से अधिक तालिकाओं को जोड़ता है। SQL JOIN में पैरेंट टेबल और चाइल्ड टेबल संबंध शामिल होते हैं।
SQL JOINS के विभिन्न प्रकार हैं:
- आंतरिक जुड़ाव
- बाएं बाहरी जुड़ाव
- दायां बाहरी जुड़ाव
- पूर्ण बाहरी जुड़ाव
- क्रॉस जॉइन करें।
आइए उदाहरणों की सहायता से प्रत्येक प्रकार के SQL जॉइन को समझते हैं।
आंतरिक जुड़ाव
SQL में इनर जॉइन व्यापक रूप से इस्तेमाल किया जाने वाला जॉइन है। यह दोनों तालिकाओं से तब तक सभी रिकॉर्ड प्राप्त करता है जब तक कि स्थिति मेल नहीं खाती। इसका मतलब है कि यह जुड़ाव केवल उन पंक्तियों को लौटाएगा जो दोनों तालिकाओं में आम हैं।
एसक्यूएल इनर जॉइन का सिंटैक्स:
चुनें Table_Name1.Colum_Name1, Table_Name1.Column_Name2, Table_Name1.Column_Name3,Table_Name2.Column_Name1,Table_Name2.Column_Name2, Table_Name2.Column_Name3, FROM Table_Name1 INNER JOIN> Table_Name2 ON table_Name1.Column_Name =Table_Nameपहले से मौजूद तालिकाओं पर विचार करें, जिनमें निश्चित डेटा है:
तालिका 1:कर्मचारी
कर्मचारी | FIRST_NAME | LAST_NAME | वेतन | शहर | विभाग | मैनेजरिड |
1001 | वैभवी | मिश्रा | 65500 | पुणे | ओरेकल | 1 |
1002 | वैभव | शर्मा | 60000 | नोएडा | सी# | 5 |
1003 | निखिल | वाणी | 50500 | जयपुर | FMW | 2 |
2001 | प्राची | शर्मा | 55500 | चंडीगढ़ | ओरेकल | 1 |
2002 | भावेश | जैन | 65500 | पुणे | FMW | 2 |
2003 | रुचिका | जैन | 50000 | मुंबई | सी# | 5 |
3001 | प्रानोटी | शेंडे | 55500 | पुणे | जावा | 3 |
3002 | अनुजा | WANRE | 50500 | जयपुर | FMW | 2 |
3003 | दीपम | जौहारी | 58500 | मुंबई | जावा | 3 |
4001 | राजेश | GOUD | 60500 | मुंबई | परीक्षण | 4 |
4002 | अश्विनी | बगत | 54500 | नोएडा | जावा | 3 |
4003 | रुचिका | अग्रवाल | 60000 | दिल्ली | ओरेकल | 1 |
5001 | ARCHIT | शर्मा | 55500 | दिल्ली | परीक्षण | 4 |
तालिका 2:प्रबंधक
प्रबंधक | manager_name | प्रबंधक_विभाग |
1 | स्नेहदीप कौर | ओरेकल |
2 | कीर्ति कीर्तन | FMW |
3 | अभिषेक मनीष | जावा |
4 | अनुपम मिश्रा | परीक्षण |
5 | आकाश कदम | सी# |
तालिका 3:लैपटॉप:
लैपटॉपिड | नाम | कर्मचारी |
L101 | डेल | शून्य |
L102 | हिमाचल प्रदेश | 1002 |
L103 | लेनोवो | शून्य |
L104 | हिमाचल प्रदेश | 3003 |
L105 | डेल | 4002 |
L106 | लेनोवो | 4003 |
L107 | डेल | 5001 |
L108 | हिमाचल प्रदेश | शून्य |
L109 | डेल | शून्य |
L110 | हिमाचल प्रदेश | शून्य |
SQL इनर जॉइन के उदाहरण
उदाहरण 1: कर्मचारी तालिका और प्रबंधक तालिका में शामिल होने के लिए एक क्वेरी निष्पादित करें और कर्मचारियों के विवरण जैसे कर्मचारी आईडी, कर्मचारी का नाम, कर्मचारी की तालिका से वेतन, और प्रबंधक आईडी और प्रबंधक तालिका से प्रबंधक का नाम प्रदर्शित करें।
कर्मचारियों में से E.EMPLOYEEID, E.FIRST_NAME, E.LAST_NAME, E.SALARY, M.MANAGERID, M.MANAGER_NAME का चयन करें E.MANAGERID =M.MANAGERID पर M.MANAGER_NAME का चयन करें;
उपरोक्त क्वेरी में, हमने कर्मचारी आईडी, प्रथम नाम, अंतिम नाम, कर्मचारी की तालिका से वेतन और प्रबंधक आईडी, प्रबंधक तालिका से प्रबंधक का नाम प्राप्त किया, जहां कर्मचारियों की तालिका प्रबंधक आईडी कॉलम प्रबंधक तालिका प्रबंधक आईडी कॉलम के बराबर है। क्वेरी दोनों तालिकाओं से सभी मिलान रिकॉर्ड लौटाएगी। प्रबंधक आईडी दोनों तालिकाओं के बीच एक सामान्य स्तंभ है। ई कर्मचारी तालिका के लिए उपनाम नाम है, जबकि एम प्रबंधक तालिका के लिए है। प्रबंधक आईडी फ़ील्ड को कर्मचारी तालिका पर एक विदेशी कुंजी के रूप में रखा गया है। प्रबंधक आईडी प्रबंधक तालिका में प्राथमिक कुंजी के रूप में कार्य करती है, जो दो तालिकाओं के बीच अभिभावक-बाल संबंध बनाता है।
आउटपुट:
कर्मचारी | FIRST_NAME | LAST_NAME | वेतन | मैनेजरिड | MANAGER_NAME |
1001 | वैभवी | मिश्रा | 65500 | 1 | स्नीदीप कौर |
2001 | प्राची | शर्मा | 55500 | 1 | स्नीदीप कौर |
4003 | रुचिका | अग्रवाल | 60000 | 1 | स्नीदीप कौर |
1003 | निखिल | वाणी | 50500 | 2 | कीर्ति कीर्तन |
2002 | भावेश | जैन | 65500 | 2 | कीर्ति कीर्तन |
3002 | अनुजा | WANRE | 50500 | 2 | कीर्ति कीर्तन |
3001 | प्रानोटी | शेंडे | 55500 | 3 | अभिषेक मनीष |
3003 | दीपम | जौहारी | 58500 | 3 | अभिषेक मनीष |
4002 | अश्विनी | बगत | 54500 | 3 | अभिषेक मनीष |
4001 | राजेश | GOUD | 60500 | 4 | अनुपम मिश्रा |
5001 | ARCHIT | शर्मा | 55500 | 4 | अनुपम मिश्रा |
1002 | वैभव | शर्मा | 60000 | 5 | आकाश कदम |
2003 | रुचिका | जैन | 50000 | 4 | आकाश कदम |
प्रबंधक आईडी द्वारा रिकॉर्ड आरोही क्रम में प्रदर्शित होते हैं।
उदाहरण 2: कर्मचारी तालिका और प्रबंधक तालिका में शामिल होने के लिए एक क्वेरी निष्पादित करें, और कर्मचारी विवरण जैसे कर्मचारी आईडी, कर्मचारी का नाम, कर्मचारी की तालिका से वेतन और प्रबंधक आईडी और प्रबंधक विभाग को प्रबंधक तालिका से प्रदर्शित करें जहां कर्मचारी का वेतन 58000 से अधिक है।
E.EMPLOYEEID, E.FIRST_NAME, E.LAST_NAME, E.SALARY, M.MANAGERID, M.MANAGER_DEPARTMENT FROM EMPLOYEES E INNER JOIN MANAGER M ON E.MANAGERID =M.MANAGERID जहां वेतन> 58000;>उपरोक्त प्रश्न में, हमने कर्मचारी आईडी, प्रथम नाम, अंतिम नाम, कर्मचारी की तालिका से वेतन, प्रबंधक आईडी, और प्रबंधक विभाग को प्रबंधक तालिका से प्राप्त किया जहां कर्मचारियों की तालिका से प्रबंधक आईडी प्रबंधक से प्रबंधक आईडी के बराबर है तालिका में केवल वे कर्मचारी रिकॉर्ड करते हैं जिनका वेतन 58000 से अधिक है।
आउटपुट:
कर्मचारी | FIRST_NAME | LAST_NAME | वेतन | मैनेजरिड | MANAGER_DEPARTMENT |
1001 | वैभवी | मिश्रा | 65500 | 1 | ओरेकल |
4003 | रुचिका | अग्रवाल | 60000 | 1 | ओरेकल |
2002 | भावेश | जैन | 65500 | 2 | FMW |
3003 | दीपम | जौहारी | 58500 | 3 | जावा |
4001 | राजेश | GOUD | 60500 | 4 | परीक्षण |
1002 | वैभव | शर्मा | 60000 | 5 | सी# |
केवल छह रिकॉर्ड प्रदर्शित होते हैं जहां एक कर्मचारी का वेतन 58000 से अधिक होता है।
उदाहरण 3: कर्मचारी तालिका और लैपटॉप तालिका में शामिल होने के लिए एक क्वेरी निष्पादित करें, कर्मचारी विवरण जैसे कर्मचारी आईडी, कर्मचारी का नाम और वेतन, कर्मचारी की तालिका से शहर, लैपटॉप आईडी, और लैपटॉप तालिका से लैपटॉप का नाम प्रदर्शित करें
EMP.EMPLOYEEID, EMP.FIRST_NAME, EMP.SALARY, EMP.CITY, LAP.LAPTOPID, LAP चुनें। कर्मचारियों से नाम EMP इनर EMP.EMPLOYEEID =LAP.EMPLOYEEID पर लैपटॉप लैप में शामिल हों;
उपरोक्त प्रश्न में, हमने कर्मचारी आईडी, प्रथम नाम, वेतन, कर्मचारियों की टेबल लैपटॉप आईडी से शहर, और लैपटॉप टेबल से नाम प्राप्त किया जहां कर्मचारी तालिका से कर्मचारी आईडी लैपटॉप तालिका से कर्मचारी आईडी के बराबर है। कर्मचारी आईडी लैपटॉप तालिका में एक विदेशी कुंजी है, जो कर्मचारी तालिका और लैपटॉप तालिका के बीच अभिभावक-बाल संबंध बनाता है।
आउटपुट:
कर्मचारी | FIRST_NAME | वेतन | शहर | लैपटॉपिड | नाम |
1002 | वैभव | 60000 | नोएडा | L102 | हिमाचल प्रदेश |
3003 | दीपम | 58500 | मुंबई | L104 | हिमाचल प्रदेश |
4002 | अश्विनी | 54500 | नोएडा | L105 | डेल |
4003 | रुचिका | 60000 | दिल्ली | L106 | लेनोवो |
5001 | ARCHIT | 55500 | दिल्ली | L107 | डेल |
केवल पांच कर्मचारियों के रिकॉर्ड प्रदर्शित होते हैं।
उदाहरण 4: कर्मचारी तालिका से कर्मचारी आईडी, प्रथम नाम, वेतन और विभाग प्रदर्शित करने के लिए एक प्रश्न लिखें प्रबंधक आईडी और प्रबंधक तालिका से प्रबंधक का नाम आंतरिक जुड़ाव का उपयोग करके जहां वेतन> 55000 और विभाग Oracle है।
कर्मचारी चुनें, FIRST_NAME, वेतन, विभाग, M.MANAGERID, M.MANAGER_NAME कर्मचारियों से E.MANAGERID =M.MANAGERID जहां वेतन> 55000 और DEPARTMENT ='ORACLE';
उपरोक्त जॉइन क्वेरी उदाहरण में, हम कर्मचारी के विवरण जैसे आईडी, नाम, वेतन, और कर्मचारी की तालिका से विभाग, प्रबंधक आईडी, और प्रबंधक तालिका से प्रबंधक का नाम प्रदर्शित करते हैं जहां कर्मचारियों की तालिका से प्रबंधक आईडी प्रबंधक आईडी के बराबर होती है प्रबंधक केवल वे कर्मचारी जिनका वेतन 55000 से अधिक है और विभाग Oracle है।
आउटपुट:
कर्मचारी | FIRST_NAME | वेतन | विभाग | मैनेजरिड | MANAGER_NAME |
1001 | वैभवी | 65500 | ओरेकल | 1 | स्नेहदीप कौर |
2001 | प्राची | 55500 | ओरेकल | 1 | स्नेहदीप कौर |
4003 | रुचिका | 60000 | ओरेकल | 1 | स्नेहदीप कौर |
केवल तीन कर्मचारी जिनका वेतन 55000 से अधिक है और विभाग Oracle है।
उदाहरण 5: कर्मचारी, प्रबंधक और लैपटॉप टेबल पर एक जॉइन क्वेरी निष्पादित करें, और कर्मचारियों के विवरण, प्रबंधक आईडी और लैपटॉप आईडी प्रदर्शित करें।
चुनें E.EMPLOYEEID, E.FIRST_NAME, E.LAST_NAME, M.MANAGERID, L.L.LAPTOPID फ्रॉम एम्प्लॉयीज ई इनर जॉइन मैनेजर M ऑन E.MANAGERID =M.MANAGERID INNER JOIN LEPTOYEE ON E.EMPLOYEEID ON E.EMPLOYEEID;
उपरोक्त क्वेरी कर्मचारी आईडी, प्रथम नाम, अंतिम नाम, प्रबंधक आईडी, और कर्मचारियों, प्रबंधक और लैपटॉप तालिकाओं से लैपटॉप आईडी प्रदर्शित करती है। हम तीन तालिकाओं में शामिल होते हैं। कर्मचारी आईडी कर्मचारियों और लैपटॉप तालिका के बीच एक सामान्य स्तंभ है और इन तीन तालिकाओं के बीच एक अभिभावक-बाल संबंध बनाता है। कर्मचारियों और प्रबंधकों के बीच, टेबल मैनेजर आईडी सामान्य कॉलम है।
आउटपुट:
कर्मचारी | FIRST_NAME | LAST_NAME | मैनेजरिड | लैपटॉपिड |
4003 | रुचिका | अग्रवाल | 1 | L106 |
3003 | दीपम | जौहारी | 3 | L104 |
4002 | अश्विनी | बगत | 3 | L105 |
5001 | ARCHIT | शर्मा | 4 | L107 |
1002 | वैभव | शर्मा | 5 | L102 |
बाएं बाहरी जुड़ाव
लेफ्ट आउटर जॉइन जॉइन के बाईं ओर सभी टेबल रिकॉर्ड लौटाएगा और जॉइन के दाईं ओर टेबल के लिए मैचिंग रिकॉर्ड। परिणाम-सेट में उन रिकॉर्ड्स के लिए शून्य है जो दाईं ओर सामान्य नहीं हैं।
बाएं बाहरी जुड़ाव का सिंटैक्स:
चुनें Table_Name1.Colum_Name1, Table_Name1.Column_Name2, Table_Name1.Column_Name3,Table_Name2.Column_Name1,Table_Name2.Column_Name2, Table_Name2.Column_Name3, FROM Table_Name_Name1 LEFT OUTER JOIN Table_Name2.Pre>Table_Name1.मौजूदा तालिकाओं पर विचार करें, जिनमें निम्नलिखित रिकॉर्ड हैं:
तालिका 1:कर्मचारी
कर्मचारी | FIRST_NAME | LAST_NAME | वेतन | शहर | विभाग | मैनेजरिड |
1001 | वैभवी | मिश्रा | 65500 | पुणे | ओरेकल | 1 |
1002 | वैभव | शर्मा | 60000 | नोएडा | सी# | 5 |
1003 | निखिल | वाणी | 50500 | जयपुर | FMW | 2 |
2001 | प्राची | शर्मा | 55500 | चंडीगढ़ | ओरेकल | 1 |
2002 | भावेश | जैन | 65500 | पुणे | FMW | 2 |
2003 | रुचिका | जैन | 50000 | मुंबई | सी# | 5 |
3001 | प्रानोटी | शेंडे | 55500 | पुणे | जावा | 3 |
3002 | अनुजा | WANRE | 50500 | जयपुर | FMW | 2 |
3003 | दीपम | जौहारी | 58500 | मुंबई | जावा | 3 |
4001 | राजेश | GOUD | 60500 | मुंबई | परीक्षण | 4 |
4002 | अश्विनी | बगत | 54500 | नोएडा | जावा | 3 |
4003 | रुचिका | अग्रवाल | 60000 | दिल्ली | ओरेकल | 1 |
5001 | ARCHIT | शर्मा | 55500 | दिल्ली | परीक्षण | 4 |
तालिका 2:प्रबंधक
प्रबंधक | manager_name | प्रबंधक_विभाग |
1 | स्नेहदीप कौर | ओरेकल |
2 | कीर्ति कीर्तन | FMW |
3 | अभिषेक मनीष | जावा |
4 | अनुपम मिश्रा | परीक्षण |
5 | आकाश कदम | सी# |
तालिका 3:लैपटॉप
लैपटॉपिड | नाम | कर्मचारी |
L101 | डेल | शून्य |
L102 | हिमाचल प्रदेश | 1002 |
L103 | लेनोवो | शून्य |
L104 | हिमाचल प्रदेश | 3003 |
L105 | डेल | 4002 |
L106 | लेनोवो | 4003 |
L107 | डेल | 5001 |
L108 | हिमाचल प्रदेश | शून्य |
L109 | डेल | शून्य |
L110 | हिमाचल प्रदेश | शून्य |
एसक्यूएल लेफ्ट आउटर जॉइन के उदाहरण
उदाहरण 1: एम्प्लॉइज टेबल और लैपटॉप टेबल पर एक लेफ्ट आउटर जॉइन क्वेरी निष्पादित करें, जहां कर्मचारी आईडी, कर्मचारी का नाम और लैपटॉप आईडी प्रदर्शित करें।
चुनें E.EMPLOYEEID, E.FIRST_NAME, E.LAST_NAME, L.LAPTOPID, L.NAME कर्मचारियों में से E.EMPLOYEEID =L.EMPLOYEEID पर लैपटॉप एल में शामिल हों;
उपरोक्त क्वेरी में, हमने कर्मचारी आईडी, प्रथम नाम, कर्मचारी के टेबल लैपटॉप आईडी से अंतिम नाम, और लैपटॉप टेबल से नाम प्रदर्शित किया और इन दो तालिकाओं पर एक बाएं बाहरी जॉइन क्वेरी का प्रदर्शन किया। यदि पंक्तियाँ तालिकाओं के बीच समान नहीं हैं, तो क्वेरी तालिका के दाईं ओर शून्य मान लौटाएगी।
आउटपुट:
कर्मचारी | FIRST_NAME | LAST_NAME | लैपटॉपिड | नाम |
1001 | वैभवी | मिश्रा | शून्य | शून्य |
1002 | वैभव | शर्मा | L102 | हिमाचल प्रदेश |
1003 | निखिल | वाणी | शून्य | शून्य |
2001 | प्राची | शर्मा | शून्य | शून्य |
2002 | भावेश | जैन | शून्य | शून्य |
2003 | रुचिका | जैन | शून्य | शून्य |
3001 | प्रानोटी | शेंडे | शून्य | शून्य |
3002 | अनुजा | WANRE | शून्य | शून्य |
3003 | दीपम | जौहारी | L104 | हिमाचल प्रदेश |
4001 | राजेश | GOUD | शून्य | शून्य |
4002 | अश्विनी | बगत | L105 | डेल |
4003 | रुचिका | अग्रवाल | L106 | लेनोवो |
5001 | ARCHIT | शर्मा | L107 | डेल |
उदाहरण 2: कर्मचारी आईडी, प्रथम नाम, अंतिम नाम, कर्मचारी की तालिका से वेतन लाने के लिए एक प्रश्न लिखें, लैपटॉप टेबल पर बाहरी शामिल हों जहां वेतन> 55000।
E.EMPLOYEEID, E.FIRST_NAME, E.LAST_NAME, E.SALARY, L.LAPTOPID, L.NAME को कर्मचारियों से चुनें और E.EMPLOYEEID पर L.EMPLOYEEID चुनें, जहां वेतन> 55000;पूर्व>
उपरोक्त प्रश्न में, हमने कर्मचारियों की तालिका से कर्मचारी विवरण और लैपटॉप तालिका से लैपटॉप विवरण प्राप्त किया, लेकिन केवल उन कर्मचारी विवरण जहां वेतन 55000 से अधिक है। हमने इन दो तालिकाओं पर बाएं बाहरी जुड़ने की क्वेरी का प्रदर्शन किया। यदि पंक्तियाँ तालिकाओं के बीच समान नहीं हैं, तो क्वेरी तालिका के दाईं ओर शून्य मान लौटाएगी।
आउटपुट:
कर्मचारी | FIRST_NAME | LAST_NAME | वेतन | लैपटॉपिड | नाम |
1001 | वैभवी | मिश्रा | 65500 | शून्य | शून्य |
1002 | वैभव | शर्मा | 60000 | L102 | हिमाचल प्रदेश |
2001 | प्राची | शर्मा | 55500 | शून्य | शून्य |
2002 | भावेश | जैन | 65500 | शून्य | शून्य |
3001 | प्रानोटी | शेंडे | 55500 | शून्य | शून्य |
3003 | दीपम | जौहारी | 58500 | L104 | हिमाचल प्रदेश |
4001 | राजेश | GOUD | 60500 | शून्य | शून्य |
4003 | रुचिका | अग्रवाल | 60000 | L106 | लेनोवो |
5001 | ARCHIT | शर्मा | 55500 | L107 | डेल |
दायां बाहरी जुड़ाव
राइट आउटर जॉइन जॉइन के दाईं ओर सभी टेबल रिकॉर्ड लौटाएगा और जॉइन के बाईं ओर टेबल के लिए मैचिंग रिकॉर्ड। परिणाम-सेट में उन रिकॉर्ड्स के लिए शून्य है जो बाईं ओर सामान्य नहीं हैं।
दाएं बाहरी जुड़ाव का सिंटैक्स:
चुनें Table_Name1.Colum_Name1, Table_Name1.Column_Name2, Table_Name1.Column_Name3,Table_Name2.Column_Name1,Table_Name2.Column_Name2, Table_Name2.Column_Name3, Table_Name1 से सही बाहरी जॉइन टेबल_नाम2 टेबल_नाम1 पर टेबल_नाम2।एसक्यूएल राइट आउटर जॉइन के उदाहरण
उदाहरण 1: कर्मचारियों की टेबल और लैपटॉप टेबल पर राइट आउटर जॉइन क्वेरी निष्पादित करें, जहां कर्मचारी आईडी, कर्मचारियों का नाम प्रदर्शित करें।
E.EMPLOYEEID, E.FIRST_NAME, E.LAST_NAME, L.LAPTOPID, L.NAME को कर्मचारियों से चुनें E.EMPLOYEEID =L.EMPLOYEEID पर लैपटॉप एल में शामिल हों;उपरोक्त क्वेरी में, हमने कर्मचारी आईडी, प्रथम नाम, कर्मचारी के टेबल लैपटॉप आईडी से अंतिम नाम, और लैपटॉप टेबल से नाम प्रदर्शित किया और इन दो तालिकाओं पर सही बाहरी जॉइन क्वेरी का प्रदर्शन किया। यदि पंक्तियाँ तालिकाओं के बीच समान नहीं हैं, तो क्वेरी तालिका के बाईं ओर शून्य मान लौटाएगी।
आउटपुट:
कर्मचारी | FIRST_NAME | LAST_NAME | लैपटॉपिड | नाम |
शून्य | शून्य | शून्य | L101 | डेल |
1002 | वैभव | शर्मा | L102 | हिमाचल प्रदेश |
शून्य | शून्य | शून्य | L103 | लेनोवो |
3003 | दीपम | जौहारी | L104 | हिमाचल प्रदेश |
4002 | अश्विनी | बगत | L105 | डेल |
4003 | रुचिका | अग्रवाल | L106 | लेनोवो |
5001 | ARCHIT | शर्मा | L107 | डेल |
शून्य | शून्य | शून्य | L108 | हिमाचल प्रदेश |
शून्य | शून्य | शून्य | L109 | डेल |
शून्य | शून्य | शून्य | L110 | हिमाचल प्रदेश |
उदाहरण 2: कर्मचारी की तालिका से कर्मचारी आईडी, प्रथम नाम और अंतिम नाम लाने के लिए एक प्रश्न लिखें। लैपटॉप टेबल पर राइट आउटर जॉइन जहां लैपटॉप के नाम में एक सूची शामिल है, वह है डेल, एचपी।
E.EMPLOYEEID, E.FIRST_NAME, E.LAST_NAME, E.SALARY, L.LAPTOPID, L.NAME को कर्मचारियों से चुनें और E.EMPLOYEEID पर L.EMPLOYEEID चुनें जहां L.NAME IN (' डेल', 'एचपी');
उपरोक्त प्रश्न में, हमने कर्मचारी के टेबल लैपटॉप विवरण से कर्मचारियों के विवरण को लैपटॉप टेबल पर प्रदर्शित किया। हमने इन दो टेबलों पर सही बाहरी जॉइन क्वेरी का प्रदर्शन किया, केवल वह कर्मचारी जिसका लैपटॉप नाम सूचियों में से एक है, वह डेल और एचपी है। यदि पंक्तियाँ तालिकाओं के बीच समान नहीं हैं, तो क्वेरी तालिका के बाईं ओर शून्य मान लौटाएगी।
आउटपुट:
कर्मचारी | FIRST_NAME | LAST_NAME | लैपटॉपिड | नाम |
शून्य | शून्य | शून्य | L101 | डेल |
1002 | वैभव | शर्मा | L102 | हिमाचल प्रदेश |
3003 | दीपम | जौहारी | L104 | हिमाचल प्रदेश |
4002 | अश्विनी | बगत | L105 | डेल |
5001 | ARCHIT | शर्मा | L107 | डेल |
शून्य | शून्य | शून्य | L108 | हिमाचल प्रदेश |
शून्य | शून्य | शून्य | L109 | डेल |
शून्य | शून्य | शून्य | L110 | हिमाचल प्रदेश |
पूर्ण बाहरी जुड़ाव
फुल आउटर जॉइन, लेफ्ट आउटर जॉइन और राइट आउटर जॉइन दोनों के परिणाम को मर्ज करता है। फुल आउटर जॉइन क्रॉस जॉइन के समान है। फ़ुल आउटर जॉइन आउटपुट देता है, जहाँ पंक्तियों के बीच पंक्तियाँ सामान्य या असामान्य होती हैं।
पूर्ण बाहरी जुड़ाव का सिंटैक्स:
तालिका 1 से COLUMNNAME1, COLUMNNAME2 चुनें, तालिका 2 में पूर्ण रूप से शामिल हों;
उदाहरण 1: कर्मचारी आईडी, प्रथम नाम, कर्मचारी की तालिका से प्रबंधक आईडी से अंतिम नाम प्रदर्शित करने के लिए एक प्रश्न लिखें, पूर्ण बाहरी प्रबंधक तालिका में शामिल हों जहां कर्मचारी का वेतन 65000 से अधिक है।
कर्मचारी चुनें, FIRST_NAME, LAST_NAME, M.MANAGERID कर्मचारियों से पूर्ण रूप से शामिल हों प्रबंधक M जहां वेतन> 65000;
उपरोक्त प्रश्न में, हमने कर्मचारियों और प्रबंधक तालिका से कर्मचारियों के विवरण और प्रबंधक विवरण प्रदर्शित किए, जहां कर्मचारी का वेतन पूर्ण जॉइन का उपयोग करके 65000 से अधिक है। पूरी तरह से, कर्मचारी की तालिका की प्रत्येक पंक्ति को प्रबंधक की तालिका की प्रत्येक पंक्ति में शामिल करें, यानी कार्टेशियन उत्पाद होगा। एम * एन
आउटपुट:
कर्मचारी | FIRST_NAME | LAST_NAME | मैनेजरिड |
1001 | वैभवी | मिश्रा | 1 |
1001 | वैभवी | मिश्रा | 2 |
1001 | वैभवी | मिश्रा | 3 |
1001 | वैभवी | मिश्रा | 4 |
1001 | वैभवी | मिश्रा | 5 |
2002 | भावेश | जैन | 1 |
2002 | भावेश | जैन | 2 |
2002 | भावेश | जैन | 3 |
2002 | भावेश | जैन | 4 |
2002 | भावेश | जैन | 5 |
जैसा कि हम देख सकते हैं, कर्मचारी आईडी 1001 क्रॉस प्रत्येक प्रबंधक आईडी के साथ जुड़ता है, वही कर्मचारी आईडी 2002 के साथ।
उदाहरण 2: कर्मचारी टेबल और लैपटॉप टेबल पर एक पूर्ण बाहरी जॉइन क्वेरी निष्पादित करें, जहां कर्मचारी वेतन 60000 से अधिक है, और कर्मचारी स्थान पुणे है।
लैपटॉप से चुनें, E.EMPLOYEEID, E.FIRST_NAME, E.SALARY, E.CITY, LAPTOP फुल जॉइन एम्प्लॉयीज और CITY ='PUNE';
उपरोक्त प्रश्न में, हम लैपटॉप आईडी, कर्मचारी आईडी, प्रथम नाम, वेतन, और लैपटॉप से शहर को पूर्ण रूप से शामिल कर्मचारियों को प्रदर्शित करते हैं, जिनका वेतन 600000 से अधिक है और शहर पुणे है। यदि दोनों शर्तें केवल कर्मचारी के लिए मेल खाती हैं, तो रिकॉर्ड प्राप्त किया जाता है।
आउटपुट:
क्रॉस जॉइन करें
SQL में क्रॉस जॉइन और कुछ नहीं बल्कि कार्टेशियन उत्पाद कहलाते हैं। एक तालिका की प्रत्येक पंक्ति दूसरी तालिका की प्रत्येक पंक्ति के साथ संयुक्त या विलय हो जाती है। एम * एन क्रॉस जॉइन है
क्रॉस जॉइन का सिंटैक्स:
COLUMNNAME1, COLUMNNAME2 को TABLE1 से चुनें और TABLE2 में शामिल हों;
उदाहरण 1: कर्मचारी तालिका और प्रबंधक तालिका पर क्रॉस जॉइन ऑपरेशन करने के लिए एक प्रश्न लिखें जहां कर्मचारी का पहला नाम ए से शुरू होता है
कर्मचारी चुनें, FIRST_NAME, M.MANAGERID फ्रॉम एम्प्लॉयीज क्रॉस जॉइन मैनेजर M जहां FIRST_NAME को 'A%' पसंद है;
उपरोक्त पूर्ण बाहरी जॉइन क्वेरी उदाहरण में, हमने कर्मचारी तालिका और प्रबंधक तालिका से कर्मचारी विवरण और प्रबंधक विवरण पुनर्प्राप्त किया, लेकिन केवल वे रिकॉर्ड जहां कर्मचारी का पहला नाम 'ए' अक्षर से शुरू होता है।
आउटपुट:
परिणाम से पता चलता है कि कर्मचारी आईडी प्रत्येक प्रबंधक आईडी पंक्ति के साथ एक क्रॉस जॉइन है।
एम * एन यहां, एम =3; कर्मचारी तालिका से कर्मचारी आईडी
एन =5; प्रबंधक तालिका 3 * 5 =15 पंक्तियों से प्रबंधक आईडी।
उदाहरण 2: लैपटॉप टेबल और कर्मचारी टेबल पर जहां कर्मचारी वेतन 58000 से अधिक है और मुंबई में क्रॉस जॉइन ऑपरेशन करने के लिए एक प्रश्न लिखें।
लैपटॉप क्रॉस से चुनें लैपटॉप, नाम, ई-कर्मचारी कर्मचारी, जहां वेतन> 58000 और शहर ='मुंबई';
उपरोक्त क्वेरी में, हमने कर्मचारियों की टेबल पर क्रॉस जॉइन ऑपरेशन करने के लिए लैपटॉप टेबल से लैपटॉप आईडी, नाम और कर्मचारी आईडी प्रदर्शित की, जहां कर्मचारी का वेतन 58000 से अधिक है और शहर पुणे है। क्रॉस जॉइन M * N की तरह परफॉर्म करता है।
आउटपुट: