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;
डेमो डेटाबेस की निम्नलिखित तालिकाओं पर विचार करें:
किताब:
मूल्य:
हम प्रत्येक पुस्तक का नाम और संबंधित मूल्य देखना चाहते हैं। हम निम्नलिखित कमांड चला सकते हैं:
SELECT Book.name, Price.price FROM Book INNER JOIN Price ON Book.id = Price.id;
इससे निम्नलिखित परिणाम प्राप्त होंगे:
केवल 3 पंक्तियाँ ही जुड़ने की शर्त को पूरा करती हैं।
EQUI जॉइन करें
EQUI जॉइन हमें प्राथमिक कुंजी/विदेशी कुंजी संबंध के आधार पर दो तालिकाओं को जोड़ने का एक तरीका प्रदान करता है। उदाहरण के लिए:
SELECT * FROM Book JOIN Price ON Book.id = Price.id;
इससे निम्नलिखित परिणाम प्राप्त होंगे:
दोनों तालिकाओं से समान कॉलम, अर्थात् आईडी कॉलम के आधार पर रिकॉर्ड लौटाए गए हैं।
प्राकृतिक जुड़ाव
इस प्रकार का जॉइन हमें EQUI जॉइन लिखने का एक और तरीका प्रदान करता है। हम NATURAL कीवर्ड जोड़कर अपने पिछले उदाहरण को बेहतर बना सकते हैं जैसा कि नीचे दिखाया गया है:
SELECT * FROM Book NATURAL JOIN Price;
इससे निम्नलिखित परिणाम प्राप्त होंगे:
केवल एक आईडी कॉलम लौटाया गया है। 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;
यह निम्नलिखित लौटाता है:
सभी तालिकाओं से सभी पंक्तियाँ लौटा दी गई हैं, तथा जहाँ कोई मिलान नहीं मिला, वहाँ शून्य मान दिया गया है।
pgAdmin का उपयोग करना
उपरोक्त कार्य pgAdmin में निम्नानुसार पूरे किए जा सकते हैं:
pgAdmin आंतरिक जॉइन
थीटा जॉइन का उपयोग कैसे करें PostgreSQL pgAdmin का उपयोग करके
pgAdmin का उपयोग करके Postgres में Theta Join का उपयोग करने के चरण नीचे दिए गए हैं:
चरण 1) अपने pgAdmin खाते में लॉगिन करें
pgAdmin खोलें और अपने क्रेडेंशियल्स का उपयोग करके लॉगिन करें
चरण 2) डेमो डेटाबेस बनाएं
- बाईं ओर स्थित नेविगेशन बार से डेटाबेस पर क्लिक करें।
- डेमो पर क्लिक करें.
चरण 3) क्वेरी टाइप करें
क्वेरी संपादक में नीचे दी गई क्वेरी टाइप करें:
SELECT Book.name, Price.price FROM Book INNER JOIN Price ON Book.id = Price.id;
चरण 4) क्वेरी निष्पादित करें
निष्पादित करें बटन पर क्लिक करें
इसे निम्नलिखित लौटना चाहिए:
EQUI जॉइन करें
चरण 1) अपने pgAdmin खाते में लॉगिन करें.
चरण 2)
- बाईं ओर स्थित नेविगेशन बार से डेटाबेस पर क्लिक करें।
- डेमो पर क्लिक करें.
चरण 3) क्वेरी संपादक में क्वेरी टाइप करें:
SELECT * FROM Book JOIN Price ON Book.id = Price.id;
चरण 4) निष्पादित करें बटन पर क्लिक करें.
इसे निम्नलिखित लौटना चाहिए:
प्राकृतिक जुड़ाव
चरण 1) अपने pgAdmin खाते में लॉगिन करें.
चरण 2)
- बाईं ओर स्थित नेविगेशन बार से डेटाबेस पर क्लिक करें।
- डेमो पर क्लिक करें.
चरण 3) क्वेरी संपादक में क्वेरी टाइप करें:
SELECT * FROM Book NATURAL JOIN Price;
चरण 4) निष्पादित करें बटन पर क्लिक करें.
इसे निम्नलिखित लौटना चाहिए:
pgAdmin सरल आंतरिक जॉइन
चरण 1) अपने pgAdmin खाते में लॉगिन करें.
चरण 2)
- बाईं ओर स्थित नेविगेशन बार से डेटाबेस पर क्लिक करें।
- डेमो पर क्लिक करें.
चरण 3) क्वेरी संपादक में क्वेरी टाइप करें:
SELECT Book.name, Price.price FROM Book INNER JOIN Price ON Book.id = Price.id;
चरण 4) निष्पादित करें बटन पर क्लिक करें.
इसे निम्नलिखित लौटना चाहिए:
pgAdmin बाहरी जॉइन
बाईं ओर का बाहरी जोड़
चरण 1) अपने pgAdmin खाते में लॉगिन करें.
चरण 2)
- बाईं ओर स्थित नेविगेशन बार से डेटाबेस पर क्लिक करें।
- डेमो पर क्लिक करें.
चरण 3) क्वेरी संपादक में क्वेरी टाइप करें:
SELECT Book.name, Price.price FROM Book LEFT JOIN Price ON Book.id = Price.id;
चरण 4) निष्पादित करें बटन पर क्लिक करें.
इसे निम्नलिखित लौटना चाहिए:
राइट आउटर जॉइन करें
चरण 1) अपने pgAdmin खाते में लॉगिन करें.
चरण 2)
- बाईं ओर स्थित नेविगेशन बार से डेटाबेस पर क्लिक करें।
- डेमो पर क्लिक करें.
चरण 3) क्वेरी संपादक में क्वेरी टाइप करें:
SELECT Book.name, Price.price FROM Book RIGHT JOIN Price ON Book.id = Price.id;
चरण 4) निष्पादित करें बटन पर क्लिक करें.
इसे निम्नलिखित लौटना चाहिए:
पूर्ण बाहरी सम्मिलित हों
चरण 1) अपने pgAdmin खाते में लॉगिन करें.
चरण 2)
- बाईं ओर स्थित नेविगेशन बार से डेटाबेस पर क्लिक करें।
- डेमो पर क्लिक करें.
चरण 3) क्वेरी संपादक में क्वेरी टाइप करें:
SELECT Book.name, Price.price FROM Book FULL OUTER JOIN Price ON Book.id = Price.id;
चरण 4) निष्पादित करें बटन पर क्लिक करें.
इसे निम्नलिखित लौटना चाहिए:
सारांश
- In PostgreSQLजब हमें एक से अधिक तालिकाओं से मान प्राप्त करने की आवश्यकता होती है तो हम JOIN का उपयोग करते हैं।
- INNER JOIN, JOIN का सबसे बुनियादी प्रकार है। यह उन सभी रिकॉर्ड्स को लौटाता है जहाँ निर्दिष्ट JOIN शर्त पूरी हुई थी।
- LEFT OUTER JOIN बायीं ओर की तालिका की सभी पंक्तियों को लौटाता है, तथा दूसरी तालिका की केवल उन पंक्तियों को लौटाता है, जहां जॉइन शर्त पूरी हो गई है।
- RIGHT OUTER JOIN दाएँ हाथ की तालिका की सभी पंक्तियों को लौटाता है, तथा अन्य तालिका की केवल उन पंक्तियों को लौटाता है, जहाँ जॉइन शर्त पूरी हो गई है।
- इस प्रकार का JOIN बाईं ओर की तालिका में सभी पंक्तियों को और दाईं ओर की तालिका में सभी पंक्तियों को शून्य के साथ लौटाता है, जहां जॉइन शर्त संतुष्ट नहीं होती है।
इस ट्यूटोरियल में प्रयुक्त डेटाबेस डाउनलोड करें