PostgreSQL संघ, उदाहरणों के साथ संघ सभी

विषय - सूची:

Anonim

PostgreSQL यूनियन क्या है?

PostgreSQL UNION ऑपरेटर का उपयोग एक सेट सेट में एक से अधिक चयन कथन से परिणाम सेट के संयोजन के लिए किया जाता है। सेलेक्ट स्टेटमेंट्स के नतीजों में से कोई भी डुप्लिकेट पंक्तियाँ समाप्त हो जाती हैं। UNION ऑपरेटर दो शर्तों के तहत काम करता है:

  • सेलेक्ट क्वेरीज़ जरूरी प्रश्नों की एक समान संख्या लौटाते हैं।
  • सभी संगत कॉलमों के डेटा प्रकार संगत होने चाहिए।

UNION ऑपरेटर सामान्य रूप से संबंधित तालिकाओं के डेटा को संयोजित करने के लिए उपयोग किया जाता है जिन्हें पूरी तरह से सामान्यीकृत नहीं किया गया है।

इस PostgreSQL ट्यूटोरियल में, आप सीखेंगे:

  • PostgreSQL यूनियन क्या है?
  • वाक्य - विन्यास
  • संघ
  • संघ सभी
  • द्वारा आदेश
  • संघ का उपयोग कब करें और संघ का उपयोग कब करें?
  • PgAdmin का उपयोग करना

वाक्य - विन्यास

SELECT expression_1, expression_2,… expression_nFROM tables[WHERE condition(s)]UNIONSELECT expression_1, expression_2,… expression_nFROM tables[WHERE condition(s)];

यहाँ उपरोक्त मापदंडों के लिए एक स्पष्टीकरण दिया गया है:

एक्सप्रेशन_1, एक्सप्रेशन_2, ... एक्सप्रेशन_ एन गणना या कॉलम हैं जिन्हें आपको पुनः प्राप्त करने की आवश्यकता है।

टेबल वे मेजें हैं जिनसे आपको अभिलेखों को पुनः प्राप्त करने की आवश्यकता होती है।

WHERE की स्थिति ऐसी स्थितियां हैं जिन्हें रिकॉर्ड के लिए पूरा किया जाना चाहिए।

ध्यान दें: चूंकि UNION ऑपरेटर डुप्लिकेट वापस नहीं करता है, इसलिए UNION DISTINCT के उपयोग का परिणाम पर कोई प्रभाव नहीं पड़ेगा।

संघ

UNION ऑपरेटर डुप्लिकेट को निकालता है। इसे हम प्रदर्शित करते हैं।

हमारे पास निम्नलिखित तालिकाओं के साथ डेमो नाम का एक डेटाबेस है:

पुस्तक:

कीमत:

आइए हम निम्नलिखित कमांड चलाते हैं:

SELECT idFROM BookUNIONSELECT idFROM Price;

कमांड निम्नलिखित लौटाएगा:

आईडी कॉलम बुक और प्राइस टेबल दोनों में दिखाई देता है। हालाँकि, यह केवल एक बार परिणाम में दिखाई देता है। कारण यह है कि PostgreSQL UNION ऑपरेटर डुप्लिकेट वापस नहीं करता है।

संघ सभी

यह ऑपरेटर डुप्लिकेट को हटाए बिना एक से अधिक SELECT कथन से परिणाम सेट को जोड़ता है। ऑपरेटर को प्रत्येक SELECT स्टेटमेंट के लिए समान डेटा प्रकारों के परिणाम सेट में समान फ़ील्ड्स की आवश्यकता होती है।

वाक्य - विन्यास:

SELECT expression_1, expression_2,… expression_nFROM tables[WHERE condition(s)]UNION ALLSELECT expression_1, expression_2,… expression_nFROM tables[WHERE condition(s)];

यहाँ उपरोक्त मापदंडों के लिए एक स्पष्टीकरण दिया गया है:

एक्सप्रेशन_1, एक्सप्रेशन_2, ... एक्सप्रेशन_ एन गणना या कॉलम हैं जिन्हें आपको पुनः प्राप्त करने की आवश्यकता है।

टेबल वे मेजें हैं जिनसे आपको अभिलेखों को पुनः प्राप्त करने की आवश्यकता होती है।

WHERE की स्थिति ऐसी स्थितियां हैं जिन्हें रिकॉर्ड के लिए पूरा किया जाना चाहिए।

नोट: दोनों अभिव्यक्तियों में समान भाव होना चाहिए।

हम निम्नलिखित तालिकाओं का उपयोग करेंगे:

पुस्तक:

कीमत:

निम्न आदेश चलाएँ:

SELECT idFROM BookUNION ALLSELECT idFROM price;

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

नकलचियों को नहीं हटाया गया है।

द्वारा आदेश

PostgreSQL UNION ऑपरेटर को क्वेरी परिणामों के आदेश के लिए ORDER BY क्लॉज के साथ एक साथ उपयोग किया जा सकता है। इसे प्रदर्शित करने के लिए, हम निम्नलिखित तालिकाओं का उपयोग करेंगे:

कीमत:

मूल्य 2:

यहाँ वह आदेश है जो दर्शाता है कि ORDER BY खंड के साथ UNION ऑपरेटर का उपयोग कैसे करें:

SELECT *FROM PriceUNIONSELECT *FROM Price2ORDER BY price;

कमांड निम्नलिखित लौटाएगा:

मूल्य स्तंभ द्वारा रिकॉर्ड का आदेश दिया गया था। खंड डिफ़ॉल्ट रूप से आरोही क्रम में रिकॉर्ड का आदेश देता है। अवरोही क्रम में उन्हें ऑर्डर करने के लिए, नीचे दिखाए अनुसार DESC क्लॉज जोड़ें:

SELECT *FROM PriceUNIONSELECT *FROM Price2ORDER BY price DESC;

कमांड निम्नलिखित लौटाएगा:

अवरोही क्रम में मूल्य स्तंभ के आधार पर रिकॉर्ड का आदेश दिया गया है।

संघ का उपयोग कब करें और संघ का उपयोग कब करें?

जब आप समान संरचना के साथ कई तालिकाओं का उपयोग करते हैं तो UNION ऑपरेटर का उपयोग करें लेकिन एक कारण के लिए विभाजित करें। यह अच्छा है जब आपको डुप्लिकेट रिकॉर्ड को हटाने / समाप्त करने की आवश्यकता होती है।

जब आप डुप्लिकेट रिकॉर्ड को हटाने / समाप्त करने की आवश्यकता न हो तो UNION ALL ऑपरेटर का उपयोग करें।

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

अब देखते हैं कि तीनों क्रियाओं pgAdmin का उपयोग कैसे किया जाता है।

संघ

PgAdmin के माध्यम से इसे पूरा करने के लिए, यह करें:

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

चरण 2)

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

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

SELECT *FROM PriceUNIONSELECT *FROM Price2ORDER BY price DESC;

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

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

संघ सभी

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

चरण 2)

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

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

SELECT idFROM BookUNION ALLSELECT idFROM price;

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

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

द्वारा आदेश

परिणाम सेट में परिणाम ऑर्डर करने के लिए UNION सभी ऑपरेटर को ORDER BY क्लॉज के साथ जोड़ा जा सकता है। उदाहरण के लिए:

SELECT idFROM BookUNION ALLSELECT idFROM priceORDER BY id;

कमांड निम्नलिखित लौटाएगा:

परिणाम के आदेश दिए गए हैं।

सारांश:

  • PostgreSQL UNION ऑपरेटर परिणामों को एक से अधिक SELECT कथन से एक परिणाम सेट में जोड़ता है।
  • UNION ऑपरेटर डुप्लिकेट रिकॉर्ड वापस नहीं करता है।
  • परिणामों का आदेश देने के लिए, इसे ORDER BY खंड के साथ मिलाएं।
  • UNION सब ऑपरेटर एक परिणाम सेट में एक से अधिक SELECT कथन से परिणाम जोड़ता है।
  • UNION सभी ऑपरेटर डुप्लिकेट को नहीं निकालते हैं।

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