Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

Oracle सेट ऑपरेटर्स

Oracle सेट ऑपरेटर्स का उपयोग करना (यूनियन, यूनियन ऑल, इंटरसेक्ट और माइनस/छोड़कर)

Oracle सेट ऑपरेटरों का उपयोग कई तालिकाओं से डेटा का चयन करने के लिए किया जा सकता है। वे दो या दो से अधिक प्रश्नों के परिणामों को जोड़ते हैं। सेट ऑपरेटरों का उपयोग करते समय

a) प्रत्येक सेलेक्ट क्लॉज में कॉलम की संख्या समान होनी चाहिए

b) कॉलम समान डेटा-प्रकार का होना चाहिए

ग) सभी चुनिंदा खंडों में कॉलम को उसी क्रम में निर्दिष्ट किया जाना चाहिए।

4 सेट ऑपरेटर हैं:

यूनियन यह दोनों क्वेरी से लौटाई गई सभी अद्वितीय पंक्तियां लौटाता है
सभी यूनियन यह डुप्लीकेट सहित सभी पंक्तियों को लौटाता है
प्रतिच्छेद करें यह केवल दोनों प्रश्नों से लौटाई गई पंक्तियों को लौटाता है
माइनस यह पहली क्वेरी द्वारा चुनी गई अनूठी पंक्तियों को लौटाता है लेकिन दूसरी क्वेरी से चयनित पंक्तियों को नहीं

ओरेकल यूनियन ऑपरेटर:

Oracle Union ऑपरेटर का उपयोग दो या अधिक SELECT स्टेटमेंट के परिणाम सेट को संयोजित करने के लिए किया जाता है। यह दोनों सेलेक्ट स्टेटमेंट परिणाम सेट को जोड़ती है और उनके बीच डुप्लिकेट पंक्तियों को हटा देती है। इसलिए यह मूल रूप से अलग पंक्तियों को लौटाता है

CUST_DATA से शहर_नाम चुनें
UNION
SUPP_DATA से शहर_नाम चुनें;

यह क्वेरी "Cust_data" और "Supp_data"
से शहरों की अलग-अलग पंक्तियां लौटाएगी

Oracle Union All

Oracle Union All ऑपरेटर का उपयोग दो या अधिक सेलेक्ट स्टेटमेंट के परिणाम सेट को संयोजित करने के लिए किया जाता है। यह दोनों SELECT स्टेटमेंट परिणाम सेट को जोड़ती है और जैसा है वैसा ही लौटाता है। इसलिए इसमें डेटा-सेट के आधार पर डुप्लीकेट भी हो सकते हैं

SELECT city_name FROM CUST_DATA
UNION All
SELECT city_name FROM SUPP_DATA
;

यह क्वेरी "Cust_data" और "Supp_data" से शहरों की सभी पंक्तियां (डुप्लिकेट पंक्तियां भी) लौटाएगी

ऑरेकल में यूनियन और यूनियन ऑल के बीच अंतर

संघ अलग-अलग पंक्तियों को लौटाता है जबकि संघ सभी पंक्तियों को लौटाता है। इसलिए हमें इन सेट ऑपरेटरों को चुनते समय बहुत सावधानी बरतनी होगी

ओरेकल इंटरसेक्ट

Oracle Intersect ऑपरेटर का उपयोग दो या अधिक SELECT स्टेटमेंट के परिणाम सेट को संयोजित करने के लिए किया जाता है। यह दोनों सेलेक्ट स्टेटमेंट डेटा-सेट को जोड़ती है और स्टेटमेंट के बीच अलग-अलग सामान्य पंक्तियों को लौटाती है। इसलिए यदि एक क्वेरी में कोई रिकॉर्ड मौजूद है और दूसरे में नहीं, तो उसे INTERSECT परिणामों से हटा दिया जाएगा।

परिणाम उपरोक्त आकृति में छायांकित भाग द्वारा दिखाए गए हैं

SELECT city_name FROM CUST_DATA
INTERSECT
SELECT city_name FROM SUPP_DATA
;

यह क्वेरी “Cust_data” और “Supp_data” से आम शहर का नाम लौटाएगी

इंटरसेक्ट बनाम जॉइन के बीच अंतर

1) इंटरसेक्ट ऑपरेटर का उपयोग इंटरसेक्ट ऑपरेटर के दोनों चुनिंदा क्लॉज से सामान्य रिकॉर्ड को पुनः प्राप्त करने के लिए किया जाता है, जबकि जॉइन का उपयोग निर्दिष्ट स्थिति के आधार पर दो तालिकाओं से डेटा को पुनः प्राप्त करने के लिए किया जाता है
2) इंटरसेक्ट सभी कॉलमों की तुलना करता है जबकि इनर जॉइन केवल निर्दिष्ट कॉलम।
3) इंटरसेक्ट ऑपरेटर कई बार INNER JOIN क्लॉज के समान ही परिणाम देता है।

ओरेकल माइनस

Sql माइनस ऑपरेटर का उपयोग दो या अधिक SELECT स्टेटमेंट के परिणाम सेट को संयोजित करने के लिए किया जाता है। यह दोनों सेलेक्ट स्टेटमेंट को जोड़ती है और पहले सेलेक्ट स्टेटमेंट से चुनी गई पंक्तियों को लौटाती है और फिर डेटा-सेट से दूसरे सेलेक्ट स्टेटमेंट से प्राप्त सभी पंक्तियों को हटा देती है

परिणाम उपरोक्त आकृति में छायांकित भाग द्वारा दिखाए गए हैं

SELECT city_name FROM CUST_DATA
MINUS
SELECT city_name FROM SUPP_DATA
;

यह क्वेरी  शहर का नाम “Cust_data” से घटाकर शहर का नाम “Supp_data”

. लौटाएगी

यहां चूंकि चुनिंदा स्टेटमेंट से लौटाया गया सभी डेटा समान है, इसने कोई पंक्तियाँ नहीं बनाईं।

आइए cust_data में एक अलग पंक्ति डालें और परिणाम देखें

अब देखते हैं कि क्या हम supp_data से cust_data का माइनस करते हैं

SELECT city_name FROM SUPP_DATA
MINUS
SELECT city_name FROM CUST_DATA
;

हम कई RDBMS जैसे sql सर्वर, mysql में माइनस ऑपरेटर नहीं करते हैं। वहां हम छोड़कर . का उपयोग करते हैं माइनस के स्थान पर और इसकी कार्यक्षमता माइनस के समान है

ये सभी sql सेट ऑपरेटर बाज़ार में उपयोग किए जाने वाले RDBMS के लिए मान्य हैं जैसे Oracle, mysql, sql सर्वर, पोस्टग्रेज़, टेराडेटा

संबंधित लेख
ओरेकल में डुप्लिकेट रिकॉर्ड हटाएं:ओरेकल टेबल से डुप्लिकेट पंक्तियों को कैसे हटाएं, इस पर युक्तियाँ और तरीके। बिना किसी समस्या के डुप्लिकेट पंक्तियों को हटाने के लिए विभिन्न विकल्प दिए गए हैं
Oracle Sql ट्यूटोरियल :सभी उपयोगी Oracle sql लेखों की सूची शामिल है। Oracle Sql के बारे में जानने के लिए उनका अन्वेषण करें, भले ही आप Oracle Sql जानते हों
Oracle साक्षात्कार प्रश्न:शीर्ष 49 Oracle साक्षात्कार प्रश्नों और उत्तरों के लिए इस पृष्ठ को देखें:साक्षात्कार में आपकी सहायता के लिए मूल बातें, Oracle SQL। अतिरिक्त सामग्री भी प्रदान की जाती है
जहां oracle में खंड:डेटा सेट को प्रतिबंधित करना, जहां खंड, sql कथन में खंड क्या है, तुलना ऑपरेटर का
Oracle में एकल पंक्ति कार्य:sql, Oracle डेटा में एकल पंक्ति कार्यों को खोजने के लिए इसे देखें फंक्शन, एसक्यूएल में न्यूमेरिक फंक्शंस, एसक्यूएल में कैरेक्टर फंक्शन


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक टेबल पर CONNECT BY LEVEL अतिरिक्त पंक्तियाँ क्यों लौटाता है?

  2. NLS_UPPER () Oracle में फ़ंक्शन

  3. Oracle में वर्तमान तिथि कैसे प्राप्त करें

  4. Oracle स्ट्रिंग फ़ंक्शंस (पूरी सूची)

  5. डेटाबेस बनाम टेबलस्पेस, क्या अंतर है?