MySQL में UNION के साथ दो अलग-अलग तालिकाओं/कॉलम से विशिष्ट मान संयोजित करना
UNION दो SELECT स्टेटमेंट के परिणामों को संयोजित करता है और डुप्लिकेट को स्वचालित रूप से हटा देता है। यह दो कॉलम या दो तालिकाओं से विशिष्ट मान प्राप्त करने के लिए आदर्श है।
व्यावहारिक उदाहरण
पहली तालिका बनाना और डेटा डालना
mysql> CREATE TABLE DemoTable1 (Value1 INT); mysql> INSERT INTO DemoTable1 VALUES(1), (2), (3), (4);
दूसरी तालिका बनाना और डेटा डालना
mysql> CREATE TABLE DemoTable2 (Value2 INT); mysql> INSERT INTO DemoTable2 VALUES(3), (4), (5), (6);
दोनों तालिकाएं देखना
mysql> SELECT * FROM DemoTable1; +--------+ | Value1 | +--------+ | 1 | 2 | 3 | 4 | mysql> SELECT * FROM DemoTable2; +--------+ | Value2 | +--------+ | 3 | 4 | 5 | 6 |
दोनों से विशिष्ट मान प्राप्त करने के लिए क्वेरी
mysql> SELECT Value1 FROM DemoTable1 UNION SELECT Value2 FROM DemoTable2;
आउटपुट:
+--------+ | Value1 | +--------+ | 1 | | 2 | | 3 | | 4 | | 5 | | 6 | +--------+
UNION vs UNION ALL
| विशेषता | UNION | UNION ALL |
|---|---|---|
| डुप्लिकेट | हटाता है | रखता है |
| प्रदर्शन | धीमा (सॉर्ट/यूनिक) | तेज़ |
| उपयोग | विशिष्ट मान चाहिए | सभी मान चाहिए |
आवश्यकताएं
- दोनों SELECT में समान संख्या में कॉलम
- संगत डेटा प्रकार (पहली क्वेरी के प्रकार प्राथमिकता पाते हैं)
- कॉलम नाम पहली क्वेरी से लिए जाते हैं
सिंगल तालिका में दो कॉलम के लिए