MySQL UNION: दो टेबल के कॉलम को संयोजित करके सॉर्ट करना
UNION ऑपरेटर दो या अधिक SELECT स्टेटमेंट के परिणामों को संयोजित करता है। डिफॉल्ट रूप से यह डुप्लिकेट हटा देता है और परिणाम को सॉर्ट नहीं करता — ORDER BY का उपयोग करके सॉर्ट करें।
उदाहरण: Amount और Price कॉलम को संयोजित करें
पहली टेबल:
CREATE TABLE DemoTable1 (Amount INT); INSERT INTO DemoTable1 VALUES (234), (567), (134);
दूसरी टेबल:
CREATE TABLE DemoTable2 (Price INT); INSERT INTO DemoTable2 VALUES (134), (775), (121), (882);
UNION के साथ ORDER BY
SELECT DISTINCT Amount FROM DemoTable1 UNION SELECT DISTINCT Price FROM DemoTable2 ORDER BY Amount;
परिणाम:
+--------+ | Amount | +--------+ | 121 | | 134 | | 234 | | 567 | | 775 | | 882 | +--------+
महत्वपूर्ण बिंदु
UNION— डुप्लिकेट हटाता है (यहां 134 दोनों टेबल में है, एक बार दिखा)UNION ALL— डुप्लिकेट रखता है, तेज होता हैORDER BY— अंत में लगाएं, यह संपूर्ण परिणाम पर लागू होता है- कॉलम नाम पहली
SELECTसे लिए जाते हैं - दोनों
SELECTमें कॉलम की संख्या और प्रकार संगत होने चाहिए
कॉलम नाम अलग हों तो
SELECT Amount AS Value FROM DemoTable1 UNION SELECT Price AS Value FROM DemoTable2 ORDER BY Value;
प्रदर्शन टिप
यदि डुप्लिकेट की परवाह नहीं या आप जानते हैं कि डुप्लिकेट नहीं हैं, तो UNION ALL उपयोग करें — यह काफी तेज है क्योंकि डुप्लिकेट हटाने का ओवरहेड नहीं होता।