MySQL में CREATE TABLE AS ... UNION से नई टेबल बनाना
दो या अधिक टेबल के डेटा को UNION से जोड़कर एक नई टेबल बनाने के लिए CREATE TABLE AS का उपयोग करें।
पहली टेबल बनाना और डेटा डालना
mysql> CREATE TABLE DemoTable1 (FirstName VARCHAR(1000));
Query OK, 0 rows affected (1.22 sec)
mysql> INSERT INTO DemoTable1 VALUES('John');
Query OK, 1 row affected (0.20 sec)
दूसरी टेबल बनाना और डेटा डालना
mysql> CREATE TABLE DemoTable2 (FirstName VARCHAR(100));
Query OK, 0 rows affected (0.81 sec)
mysql> INSERT INTO DemoTable2 VALUES('Chris');
Query OK, 1 row affected (0.21 sec)
UNION से नई टेबल बनाने का क्वेरी
स्रोत टेबल पहचानने के लिए एक अतिरिक्त कॉलम TABLE_NAME जोड़ा गया है:
mysql> CREATE TABLE DemoTable3 AS
(SELECT FirstName, 'DemoTable1' AS `TABLE_NAME` FROM DemoTable1)
UNION
(SELECT FirstName, 'DemoTable2' AS `TABLE_NAME` FROM DemoTable2);
Query OK, 2 rows affected (1.08 sec)
Records: 2 Duplicates: 0 Warnings: 0
नई टेबल के रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable3;
+-----------+--------------+ | FirstName | TABLE_NAME | +-----------+--------------+ | John | DemoTable1 | | Chris | DemoTable2 | +-----------+--------------+ 2 rows in set (0.00 sec)
नोट: UNION डिफ़ॉल्ट रूप से डुप्लिकेट हटा देता है। यदि डुप्लिकेट रखने हैं, तो UNION ALL का उपयोग करें। CREATE TABLE AS नई टेबल की संरचना स्वचालित रूप से निर्धारित करता है।