PostgreSQL उदाहरण सहित जॉइन प्रकार: आंतरिक, बाहरी, बायां, दायां

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

PostgreSQL जुड़ती एक से अधिक तालिकाओं से डेटा प्राप्त करने के लिए उपयोग किया जाता है। जॉइन के साथ, हमारे लिए 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 यह नोट करने में सक्षम था कि दोनों तालिकाओं में आईडी कॉलम समान है। केवल एक लौटाया गया था।

पोस्टग्रेज आउटर जॉइन

इसमें 3 प्रकार के आउटर जॉइन होते हैं 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;   

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

पोस्टग्रेज बायाँ बाहरी जोड़

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

पोस्टग्रेज दायां बाहरी जोड़

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;

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

पोस्टग्रेज दायां बाहरी जोड़

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

पूर्ण बाहरी जॉइन इन 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;

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

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

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

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

उपरोक्त कार्य pgAdmin में निम्नानुसार पूरे किए जा सकते हैं:

pgAdmin आंतरिक जॉइन

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

pgAdmin का उपयोग करके Postgres में Theta Join का उपयोग करने के चरण नीचे दिए गए हैं:

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

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

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

  1. बाईं ओर स्थित नेविगेशन बार से डेटाबेस पर क्लिक करें।
  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)

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

pgAdmin EQUI जॉइन करें

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

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

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

pgAdmin EQUI जॉइन करें

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

pgAdmin EQUI जॉइन करें

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

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

चरण 2)

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

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

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

SELECT *
FROM Book 
NATURAL JOIN Price;

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

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

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

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

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

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

चरण 2)

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

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

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

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

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

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

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

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

pgAdmin बाहरी जॉइन

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

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

चरण 2)

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

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

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

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

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

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

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

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

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

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

चरण 2)

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

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

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

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

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

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

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

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

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

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

चरण 2)

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

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

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

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

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

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

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

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

सारांश

  • In PostgreSQLजब हमें एक से अधिक तालिकाओं से मान प्राप्त करने की आवश्यकता होती है तो हम JOIN का उपयोग करते हैं।
  • INNER JOIN, JOIN का सबसे बुनियादी प्रकार है। यह उन सभी रिकॉर्ड्स को लौटाता है जहाँ निर्दिष्ट JOIN शर्त पूरी हुई थी।
  • LEFT OUTER JOIN बायीं ओर की तालिका की सभी पंक्तियों को लौटाता है, तथा दूसरी तालिका की केवल उन पंक्तियों को लौटाता है, जहां जॉइन शर्त पूरी हो गई है।
  • RIGHT OUTER JOIN दाएँ हाथ की तालिका की सभी पंक्तियों को लौटाता है, तथा अन्य तालिका की केवल उन पंक्तियों को लौटाता है, जहाँ जॉइन शर्त पूरी हो गई है।
  • इस प्रकार का JOIN बाईं ओर की तालिका में सभी पंक्तियों को और दाईं ओर की तालिका में सभी पंक्तियों को शून्य के साथ लौटाता है, जहां जॉइन शर्त संतुष्ट नहीं होती है।

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