Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में कॉलम्स को पंक्तियों में कैसे संयोजित करें (UNION ALL का उपयोग करके)

MySQL में UNION ALL का उपयोग करके कॉलम्स को पंक्तियों में बदलना

जब आपको एक ही टेबल के कई कॉलम्स के मानों को एक ही कॉलम में कई पंक्तियों के रूप में संयोजित करने की आवश्यकता होती है, तो UNION ALL सबसे सरल और कुशल तरीका है।

सिंटैक्स

SELECT yourColumnName1 FROM yourTableName
UNION ALL
SELECT yourColumnName2 FROM yourTableName;

टेबल बनाना

mysql> CREATE TABLE DemoTable (
    -> Value1 INT,
    -> Value2 INT
    -> );
Query OK, 0 rows affected (0.88 sec)

डेटा डालना

mysql> INSERT INTO DemoTable VALUES (100,200);
Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO DemoTable VALUES (500,600);
Query OK, 1 row affected (0.18 sec)

मूल डेटा देखना

mysql> SELECT * FROM DemoTable;
+--------+--------+
| Value1 | Value2 |
+--------+--------+
|    100 |    200 |
|    500 |    600 |
+--------+--------+
2 rows in set (0.00 sec)

कॉलम्स को पंक्तियों में संयोजित करने का क्वेरी

mysql> SELECT Value1 FROM DemoTable
    -> UNION ALL
    -> SELECT Value2 FROM DemoTable;

परिणाम

+--------+
| Value1 |
+--------+
|    100 |
|    500 |
|    200 |
|    600 |
+--------+
4 rows in set (0.00 sec)

UNION vs UNION ALL

विशेषताUNIONUNION ALL
डुप्लिकेट हटाता हैहाँनहीं
प्रदर्शनधीमा (सॉर्टिंग आवश्यक)तेज़
उपयोग करें जबअद्वितीय मान चाहिएसभी मान चाहिए (प्रदर्शन के लिए बेहतर)

अधिक कॉलम्स के लिए विस्तारित

SELECT Col1 AS Combined FROM TableName
UNION ALL SELECT Col2 FROM TableName
UNION ALL SELECT Col3 FROM TableName
UNION ALL SELECT Col4 FROM TableName;

परिणाम में स्रोत कॉलम पहचान जोड़ना

SELECT 'Value1' AS SourceColumn, Value1 AS Value FROM DemoTable
UNION ALL
SELECT 'Value2' AS SourceColumn, Value2 AS Value FROM DemoTable;

परिणाम

+--------------+-------+
| SourceColumn | Value |
+--------------+-------+
| Value1       |   100 |
| Value1       |   500 |
| Value2       |   200 |
| Value2       |   600 |
+--------------+-------+

आधुनिक विकल्प (MySQL 8.0+)

MySQL 8.0+ में, आप JSON_TABLE या LATERAL JOIN का भी उपयोग कर सकते हैं, लेकिन UNION ALL सरल मामलों के लिए सबसे पोर्टेबल और समझने में आसान रहता है।

  1. - MySQL में AUTO_INCREMENT टेबल में INSERT INTO SELECT कैसे करें?

    MySQL में AUTO_INCREMENT प्राइमरी की वाली टेबल में INSERT INTO ... SELECT का उपयोग करते समय, आप स्पष्ट रूप से ID मान प्रदान कर सकते हैं या ऑटो-जनरेट होने दे सकते हैं। दोनों दृष्टिकोण वैध हैं लेकिन अलग व्यवहार करते हैं। उदाहरण: स्पष्ट ID के साथ INSERT INTO SELECT ऑटो-इन्क्रीमेंट टेबल बनाएं: mysql&

  1. - MySQL में CONCAT_WS() से कन्कैटिनेट करके शर्त के साथ ROW कैसे चुनें?

    CONCAT_WS() फ़ंक्शन CONCAT_WS(separator, col1, col2, ...) सेपरेटर के साथ कॉलम जोड़ता है। उदाहरण insert into demo38 values(10,John,Smith,1990-10-01), (11,David,Miller,1994-01-21), (11,John,Doe,1992-02-01), (12,Adam,Smith,1996-11-11), (13,Chris,Brown,1997-03-10); क्वेरी: user_id 11 और 13 के लिए फ़

  1. - MySQL में AUTO_INCREMENT कॉलम के साथ काम करना

    आइए समझते हैं कि MySQL में AUTO_INCREMENT कॉलम के साथ कैसे काम करें: AUTO_INCREMENT विशेषता का उपयोग नई रो के लिए एक अद्वितीय पहचानकर्ता उत्पन्न करने के लिए किया जाता है। आइए देखें कि यह स्टेटमेंट कैसे काम करता है। उससे पहले, नीचे दी गई क्वेरी पर विचार करें: क्वेरी CREATE TABLE tableName ( id