PostgreSQL जुड़ने के प्रकार: आंतरिक, बाहरी, बाएँ, दाएँ

⚡ स्मार्ट सारांश

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

  • 🔗 जोड़ना: जॉइन एक सामान्य कुंजी के आधार पर कई तालिकाओं के कॉलम को मर्ज करता है।
  • 🎯 आंतरिक रूप से जुड़ा: इनर जॉइन केवल उन्हीं पंक्तियों को लौटाता है जहां जॉइन की शर्त पूरी होती है।
  • ⬅️ बाँया जोड़: LEFT OUTER JOIN बाएं टेबल की सभी पंक्तियों को बरकरार रखता है, और दाएं टेबल की उन पंक्तियों के लिए NULL मान जोड़ता है जिनका मिलान नहीं होता है।
  • ➡️ सही शामिल हों: RIGHT OUTER JOIN प्रत्येक राइट-टेबल पंक्ति को बरकरार रखता है, और बेमेल लेफ्ट पंक्तियों के लिए NULL मान जोड़ता है।
  • 🔵 पूर्ण जुड़ें: FULL OUTER JOIN उन सभी पंक्तियों को लौटाता है जिनमें दोनों तालिकाओं में NULL मान होते हैं जहां कोई मिलान मौजूद नहीं होता है।
  • 🤖 एआई सहायता: एआई सहायक सही जॉइन प्रकार का चयन करते हैं और ऑन कंडीशन लिखते हैं।

PostgreSQL जुड़ने के प्रकार

जॉइन्स क्या हैं? PostgreSQL?

PostgreSQL जुड़ती एक से अधिक तालिकाओं से डेटा प्राप्त करने के लिए JOIN का उपयोग किया जाता है। JOIN का उपयोग करके, हम SELECT और JOIN कथनों को एक ही कथन में संयोजित कर सकते हैं। कथन में एक JOIN शर्त जोड़ी जाती है, और शर्त को पूरा करने वाली सभी पंक्तियाँ वापस कर दी जाती हैं। विभिन्न तालिकाओं के मानों को सामान्य स्तंभों के आधार पर संयोजित किया जाता है। सामान्य स्तंभ आमतौर पर पहली तालिका में प्राथमिक कुंजी और दूसरी तालिका में विदेशी कुंजी होती है।

PostgreSQL जुड़ने के प्रकार

इसमें दो प्रकार के जॉइन होते हैं PostgreSQL:

  • आंतरिक जोड़
  • बाहरी जोड़

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

इनर जॉइन के 3 प्रकार हैं PostgreSQL:

  • थीटा जॉइन
  • प्राकृतिक जुड़ाव
  • EQUI में शामिल हों

थीटा जॉइन

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

थीटा जॉइन JOIN का सबसे बुनियादी प्रकार है। यह उन तालिकाओं से सभी पंक्तियाँ लौटाएगा जहाँ JOIN शर्त पूरी होती है।

सिंटेक्स:

SELECT columns
FROM table-1
INNER JOIN table-2
ON table-1.column = table-2.column;

डेमो डेटाबेस की निम्नलिखित तालिकाओं पर विचार करें:

किताब:

PostgreSQL थीटा जॉइन

मूल्य:

PostgreSQL थीटा जॉइन

हम प्रत्येक पुस्तक का नाम और संबंधित मूल्य देखना चाहते हैं। हम निम्नलिखित कमांड चला सकते हैं:

SELECT Book.name, Price.price
FROM Book
INNER JOIN Price
ON Book.id = Price.id;

इससे निम्नलिखित परिणाम प्राप्त होंगे:

PostgreSQL थीटा जॉइन

केवल 3 पंक्तियाँ ही जुड़ने की शर्त को पूरा करती हैं।

EQUI जॉइन करें

EQUI जॉइन हमें प्राथमिक कुंजी/विदेशी कुंजी संबंध के आधार पर दो तालिकाओं को जोड़ने का एक तरीका प्रदान करता है। उदाहरण के लिए:

SELECT *
FROM Book
JOIN Price ON Book.id = Price.id;

इससे निम्नलिखित परिणाम प्राप्त होंगे:

PostgreSQL EQUI जॉइन करें

दोनों तालिकाओं से समान कॉलम, अर्थात् आईडी कॉलम के आधार पर रिकॉर्ड लौटाए गए हैं।

प्राकृतिक जुड़ाव

इस प्रकार का जॉइन हमें EQUI जॉइन लिखने का एक और तरीका प्रदान करता है। हम NATURAL कीवर्ड जोड़कर अपने पिछले उदाहरण को बेहतर बना सकते हैं जैसा कि नीचे दिखाया गया है:

SELECT *
FROM Book
NATURAL JOIN Price;

इससे निम्नलिखित परिणाम प्राप्त होंगे:

PostgreSQL प्राकृतिक जुड़ाव

केवल एक आईडी कॉलम लौटाया गया है। NATURAL JOIN यह नोट करने में सक्षम था कि दोनों तालिकाओं में आईडी कॉलम समान है। केवल एक लौटाया गया था।

PostgreSQL बाहरी सम्मिलित हों

इसमें 3 प्रकार के आउटर जॉइन होते हैं PostgreSQL:

  • बाईं ओर का बाहरी जोड़
  • राइट आउटर जॉइन करें
  • पूर्ण बाहरी सम्मिलित हों

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

LEFT OUTER JOIN, तालिका में बायीं ओर की सभी पंक्तियों को लौटाएगा तथा केवल दायीं ओर की तालिका में उन पंक्तियों को लौटाएगा जहां जॉइन शर्त पूरी हो गई है।

सिंटेक्स:

SELECT columns
FROM table-1
LEFT OUTER JOIN table-2
ON table-1.column = table-2.column;

हमें प्रत्येक पुस्तक का नाम और संबंधित मूल्य देखना होगा। हम निम्नलिखित कमांड चला सकते हैं:

SELECT Book.name, Price.price
FROM Book
LEFT JOIN Price
ON Book.id = Price.id;

यह निम्नलिखित लौटाता है:

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

बुक टेबल की सभी 4 पंक्तियाँ वापस कर दी गई हैं। प्राइस टेबल से केवल 3 पंक्तियाँ ही जॉइन कंडीशन को पूरा करती हैं। इसलिए उन्हें वापस कर दिया गया। अंतिम पुस्तक में कोई संगत मूल्य मान नहीं है।

PostgreSQL राइट आउटर जॉइन करें

RIGHT OUTER JOIN तालिका में दाईं ओर की सभी पंक्तियों और तालिका में बाईं ओर की उन पंक्तियों को लौटाता है, जहां जॉइन शर्त पूरी हो गई है।

सिंटेक्स:

SELECT columns
FROM table-1
RIGHT OUTER JOIN table-2
ON table-1.column = table-2.column;

उदाहरण के लिए:

SELECT Book.name, Price.price
FROM Book
RIGHT JOIN Price
ON Book.id = Price.id;

यह निम्नलिखित लौटाता है:

PostgreSQL राइट आउटर जॉइन करें

प्राइस टेबल की सभी पंक्तियाँ लौटा दी गई हैं। बुक टेबल में से केवल वही पंक्तियाँ लौटाई गईं जो जॉइन की शर्त को पूरा करती थीं। तीसरी पंक्ति में नाम के लिए कोई मान नहीं है क्योंकि कोई मिलान नहीं मिला।

पूर्ण बाहरी जॉइन इन PostgreSQL

इस प्रकार का JOIN, तालिका में बाईं ओर की सभी पंक्तियों को तथा तालिका में दाईं ओर की सभी पंक्तियों को शून्य के साथ लौटाएगा, जहां जॉइन शर्त संतुष्ट नहीं है।

सिंटेक्स:

SELECT columns
FROM table-1
FULL OUTER JOIN table-2
ON table-1.column = table-2.column;

उदाहरण के लिए:

SELECT Book.name, Price.price
FROM Book
FULL OUTER JOIN Price
ON Book.id = Price.id;

यह निम्नलिखित लौटाता है:

PostgreSQL पूर्ण बाहरी सम्मिलित हों

सभी तालिकाओं से सभी पंक्तियाँ लौटा दी गई हैं, तथा जहाँ कोई मिलान नहीं मिला, वहाँ शून्य मान दिया गया है।

pgAdmin का उपयोग करना

ऊपर बताए गए कार्यों को pgAdmin में इस प्रकार पूरा किया जा सकता है। अगले अनुभागों में प्रत्येक प्रकार के जॉइनिंग के बारे में चरण दर चरण बताया गया है।

pgAdmin आंतरिक जॉइन

नीचे दिए गए चरणों में दिखाया गया है कि pgAdmin में प्रत्येक इनर जॉइन वेरिएंट को कैसे चलाया जाए।

थीटा जॉइन का उपयोग कैसे करें PostgreSQL pgAdmin का उपयोग करके

नीचे थीटा जॉइन का उपयोग करने के चरण दिए गए हैं। PostgreSQL pgAdmin का उपयोग करके:

चरण 1) अपने pgAdmin खाते में लॉगिन करें

pgAdmin खोलें और अपने क्रेडेंशियल्स का उपयोग करके लॉगिन करें

चरण 2) डेमो डेटाबेस बनाएं

  • बाईं ओर स्थित नेविगेशन बार से डेटाबेस पर क्लिक करें।
  • डेमो पर क्लिक करें.

pgAdmin आंतरिक जॉइन

चरण 3) क्वेरी टाइप करें

क्वेरी संपादक में नीचे दी गई क्वेरी टाइप करें:

SELECT Book.name, Price.price
FROM Book
INNER JOIN Price
ON Book.id = Price.id;

चरण 4) क्वेरी निष्पादित करें

निष्पादित करें बटन पर क्लिक करें

pgAdmin आंतरिक जॉइन

इसे निम्नलिखित लौटना चाहिए:

pgAdmin आंतरिक जॉइन

EQUI जॉइन करें

चरण 1) अपने pgAdmin खाते में लॉगिन करें.

चरण 2)

  • बाईं ओर स्थित नेविगेशन बार से डेटाबेस पर क्लिक करें।
  • डेमो पर क्लिक करें.

pgAdmin EQUI जॉइन करें

चरण 3) क्वेरी संपादक में क्वेरी टाइप करें:

SELECT *
FROM Book
JOIN Price ON Book.id = Price.id;

चरण 4) निष्पादित करें बटन पर क्लिक करें.

pgAdmin EQUI जॉइन करें

इसे निम्नलिखित लौटना चाहिए:

pgAdmin EQUI जॉइन करें

प्राकृतिक जुड़ाव

चरण 1) अपने pgAdmin खाते में लॉगिन करें.

चरण 2)

  • बाईं ओर स्थित नेविगेशन बार से डेटाबेस पर क्लिक करें।
  • डेमो पर क्लिक करें.

pgAdmin प्राकृतिक जुड़ें

चरण 3) क्वेरी संपादक में क्वेरी टाइप करें:

SELECT *
FROM Book
NATURAL JOIN Price;

चरण 4) निष्पादित करें बटन पर क्लिक करें.

pgAdmin प्राकृतिक जुड़ें

इसे निम्नलिखित लौटना चाहिए:

pgAdmin प्राकृतिक जुड़ें

pgAdmin सरल आंतरिक जॉइन

चरण 1) अपने pgAdmin खाते में लॉगिन करें.

चरण 2)

  • बाईं ओर स्थित नेविगेशन बार से डेटाबेस पर क्लिक करें।
  • डेमो पर क्लिक करें.

pgAdmin सरल आंतरिक जॉइन

चरण 3) क्वेरी संपादक में क्वेरी टाइप करें:

SELECT Book.name, Price.price
FROM Book
INNER JOIN Price
ON Book.id = Price.id;

चरण 4) निष्पादित करें बटन पर क्लिक करें.

pgAdmin सरल आंतरिक जॉइन

इसे निम्नलिखित लौटना चाहिए:

pgAdmin सरल आंतरिक जॉइन

pgAdmin बाहरी जॉइन

इसके बाद, नीचे दिए गए चरणों का पालन करते हुए pgAdmin में तीन आउटर जॉइन वेरिएंट चलाएँ।

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

चरण 1) अपने pgAdmin खाते में लॉगिन करें.

चरण 2)

  • बाईं ओर स्थित नेविगेशन बार से डेटाबेस पर क्लिक करें।
  • डेमो पर क्लिक करें.

pgAdmin बायाँ बाहरी जॉइन

चरण 3) क्वेरी संपादक में क्वेरी टाइप करें:

SELECT Book.name, Price.price
FROM Book
LEFT JOIN Price
ON Book.id = Price.id;

चरण 4) निष्पादित करें बटन पर क्लिक करें.

pgAdmin बायाँ बाहरी जॉइन

इसे निम्नलिखित लौटना चाहिए:

pgAdmin बायाँ बाहरी जॉइन

राइट आउटर जॉइन करें

चरण 1) अपने pgAdmin खाते में लॉगिन करें.

चरण 2)

  • बाईं ओर स्थित नेविगेशन बार से डेटाबेस पर क्लिक करें।
  • डेमो पर क्लिक करें.

pgAdmin दायाँ बाहरी जोड़

चरण 3) क्वेरी संपादक में क्वेरी टाइप करें:

SELECT Book.name, Price.price
FROM Book
RIGHT JOIN Price
ON Book.id = Price.id;

चरण 4) निष्पादित करें बटन पर क्लिक करें.

pgAdmin दायाँ बाहरी जोड़

इसे निम्नलिखित लौटना चाहिए:

pgAdmin दायाँ बाहरी जोड़

पूर्ण बाहरी सम्मिलित हों

चरण 1) अपने pgAdmin खाते में लॉगिन करें.

चरण 2)

  • बाईं ओर स्थित नेविगेशन बार से डेटाबेस पर क्लिक करें।
  • डेमो पर क्लिक करें.

pgAdmin पूर्ण आउटर जॉइन

चरण 3) क्वेरी संपादक में क्वेरी टाइप करें:

SELECT Book.name, Price.price
FROM Book
FULL OUTER JOIN Price
ON Book.id = Price.id;

चरण 4) निष्पादित करें बटन पर क्लिक करें.

pgAdmin पूर्ण आउटर जॉइन

इसे निम्नलिखित लौटना चाहिए:

pgAdmin पूर्ण आउटर जॉइन

इस ट्यूटोरियल में प्रयुक्त डेटाबेस डाउनलोड करें

अक्सर पूछे जाने वाले प्रश्न

इनर जॉइन केवल उन्हीं पंक्तियों को लौटाता है जो दोनों तालिकाओं में मेल खाती हैं। आउटर जॉइन बेमेल पंक्तियों को भी रखता है, छूटे हुए कॉलम को NULL से भरता है, और यह इस बात पर निर्भर करते हुए बाएँ, दाएँ या पूर्ण हो सकता है कि किस तालिका को संरक्षित किया जा रहा है।

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

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

क्रॉस जॉइन कार्टेशियन प्रोडक्ट लौटाता है, जो पहली टेबल की प्रत्येक पंक्ति को दूसरी टेबल की प्रत्येक पंक्ति के साथ जोड़ता है। इसमें कोई ऑन कंडीशन नहीं होती, इसलिए यह बहुत बड़े रिजल्ट सेट को जल्दी से उत्पन्न कर सकता है।

जी हां। आप एक ही क्वेरी में कई JOIN क्लॉज़ को एक साथ जोड़ सकते हैं, प्रत्येक अतिरिक्त टेबल को एक और JOIN और ON कंडीशन के साथ जोड़कर। PostgreSQL एक संयुक्त परिणाम सेट बनाने के लिए उनका मूल्यांकन किया जाता है।

GitHub Copilot जैसे AI सहायक सही जॉइन प्रकार का सुझाव देते हैं, फॉरेन कीज़ से ON कंडीशन लिखते हैं, और किसी भी गुम हुई कंडीशन को चिह्नित करते हैं जिससे गलती से कार्टेशियन प्रोडक्ट हो सकता है, जिससे जॉइन की सामान्य गलतियाँ कम हो जाती हैं।

जी हां। एआई सहायक क्वेरी प्लान पढ़ सकते हैं, जॉइन कॉलम पर इंडेक्स की सिफारिश कर सकते हैं और जॉइन ऑर्डर या शर्तों को फिर से लिख सकते हैं। डेटाबेस अभी भी शुद्धता सुनिश्चित करता है, इसलिए उत्पादन में चलाने से पहले प्रत्येक सुझाव की समीक्षा करें।

कोई भी सिंगल जॉइन हमेशा सबसे तेज़ नहीं होता; परफॉर्मेंस इंडेक्स, रो काउंट और फिल्टर पर निर्भर करती है। इंडेक्स्ड कीज़ पर इनर जॉइन आमतौर पर कुशल होते हैं, जबकि बड़ी अनइंडेक्स्ड टेबल्स पर फुल आउटर जॉइन सबसे महंगे साबित होते हैं।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: