जब आप डेटाबेस क्वेरी कर रहे होते हैं, तो आप दो या अधिक SELECT स्टेटमेंट के परिणामों को संयोजित करना चाह सकते हैं। उदाहरण के लिए, आप उन शहरों की सूची प्राप्त करना चाह सकते हैं जहां आपके ग्राहक आधारित हैं, और जिन शहरों में आपके व्यवसाय की शाखाएं हैं। आप इसे प्राप्त करने के लिए दो क्वेरी चला सकते हैं, लेकिन आप एक क्वेरी में परिणाम चाहते होंगे।
यहीं SQL UNION ऑपरेटर काम आता है। UNION क्लॉज का उपयोग दो या अधिक SELECT क्वेरी के परिणामों को एक सिंगल रिजल्ट सेट में संयोजित करने के लिए किया जा सकता है।
इस ट्यूटोरियल में, हम SQL UNION ऑपरेटर की मूल बातें समझाएंगे और चर्चा करेंगे कि जब आप डेटाबेस के साथ काम कर रहे हों तो आप इस कमांड का उपयोग कहां करना चाह सकते हैं।
क्वेरी रिफ्रेशर
प्रोग्रामर डेटाबेस से जानकारी पुनर्प्राप्त करने के लिए क्वेरी का उपयोग करते हैं। क्वेरी लगभग हमेशा SQL SELECT स्टेटमेंट से शुरू होती है और मानदंडों के एक सेट के आधार पर डेटा पुनर्प्राप्त करने के लिए उपयोग की जाती है। क्वेरी में आमतौर पर FROM ऑपरेटर शामिल होता है, जो बताता है कि कौन सी टेबल क्वेरी की जाएगी, साथ ही अन्य ऑपरेटर जो परिणाम डेटा को फ़िल्टर कर सकते हैं।
यहां SQL क्वेरी के लिए सामान्य सिंटैक्स है:
SELECT column_name FROM table_name WHERE your_condititions_are_met;
यहां SQL क्वेरी का एक उदाहरण है जो सभी कर्मचारी नामों की सूची लौटाता है:
SELECT name FROM employees;
हमारी क्वेरी का आउटपुट इस प्रकार है:
| name |
| Luke Mike Hannah Geoff Alexis Emma Jonah |
(7 पंक्तियाँ)
यदि आप कई कॉलम से जानकारी पुनर्प्राप्त करना चाहते हैं, तो आप कॉलम नामों को कॉमा से अलग करके ऐसा कर सकते हैं। यदि आप हर कॉलम से डेटा प्राप्त करना चाहते हैं, तो आप एक एस्टेरिस्क (*) का उपयोग कर सकते हैं, जो टेबल में हर कॉलम का प्रतिनिधित्व करता है।
SQL Union
SQL UNION ऑपरेटर का उपयोग दो या अधिक क्वेरी के परिणामों को एक सिंगल रिस्पॉन्स में संयोजित करने के लिए किया जा सकता है जिसके परिणामस्वरूप एक टेबल बनती है।
UNION ऑपरेटर का उपयोग करने के लिए, दो शर्तों को पूरा किया जाना चाहिए। पहला, नए कॉलम के डेटा प्रकार संगत होने चाहिए - यदि एक टेबल में वेतन एक इंटीजर है और दूसरे में फ्लोट, तो यूनियन काम नहीं करेगा। दूसरा, आपकी क्वेरी में कॉलम की संख्या और क्रम समान होना चाहिए।
यहां SQL UNION क्वेरी के लिए सिंटैक्स है:
SELECT column_name FROM table1_name UNION SELECT column_name FROM table2_name;
आइए एक उदाहरण का उपयोग करके दिखाते हैं कि SQL UNION ऑपरेटर कैसे काम करता है। मान लीजिए कि हम एक व्यवसाय हैं जिसे अपने सभी ग्राहकों को एक घोषणा भेजने की आवश्यकता है। हम यह भी चाहते हैं कि सभी कर्मचारियों को यह घोषणा भेजी जाए ताकि वे जान सकें कि क्या हो रहा है।
हम अपने ग्राहकों और कर्मचारियों दोनों के ईमेल की सूची प्राप्त करने के लिए निम्न SQL क्वेरी का उपयोग कर सकते हैं ताकि हम उन सभी को घोषणा भेज सकें:
SELECT name, email FROM employees UNION SELECT name, email FROM customers;
हमारी क्वेरी से आउटपुट इस प्रकार है:
| name | |
| Emma | emma.a@gmail.com |
| Jonah | jonah.h@gmail.com |
| Hannah | hannah.y@gmail.com |
| Luke | luke.e@gmail.com |
| John | john.p@outlook.com |
| Geoff | geoff.l@gmail.com |
| Alexis | alexis.e@gmail.com |
| Fred | fred.s@gmail.com |
| Erin | erin.a@gmail.com |
| Katy | katy.l@gmail.com |
| Anne | anne.s@gmail.com |
| Tom | tom.h@gmail.com |
| Mike | mike.h@gmail.com |
| Hannah | hannah.p@gmail.com |
(14 पंक्तियाँ)
जैसा कि आप देख सकते हैं, हमारी UNION क्वेरी ने हमारे ग्राहकों और कर्मचारियों दोनों के सभी नाम और ईमेल पते की सूची लौटाई।
यह ध्यान देने योग्य है कि UNION ऑपरेटर संयुक्त अंतिम परिणाम से डुप्लिकेट पंक्तियों को हटा देता है। इसका मतलब है कि यदि हमारा कोई कर्मचारी ग्राहक भी था, तो हम उनकी जानकारी केवल एक बार देखेंगे।
हालांकि यह उपरोक्त उदाहरण में काम करता है, यदि आप डुप्लिकेट पंक्तियों सहित परिणाम लौटाना चाहते हैं, तो आपको अपनी क्वेरी में ALL कीवर्ड जोड़ना होगा। यहां एक उदाहरण है:
SELECT name, email FROM employees UNION ALL SELECT name, email FROM customers;
निष्कर्ष
इस ट्यूटोरियल में हमने SQL सर्वर पर UNION ऑपरेटर का उपयोग करने का तरीका बताया है। जैसा कि हमने चर्चा की, UNION का उपयोग दो टेबल से डेटा प्राप्त करने और प्रतिक्रिया को एक सिंगल टेबल में संयोजित करने के लिए किया जा सकता है। उदाहरण के लिए, यदि आप अपने आपूर्तिकर्ताओं और वितरकों के पतों की सूची प्राप्त करना चाहते हैं - जो दोनों अलग-अलग टेबल में संग्रहीत हैं - तो आप UNION क्वेरी का उपयोग कर सकते हैं।