Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm thế nào để tạo một bảng mới từ việc hợp nhất hai bảng với MySQL union?

Sau đây là cú pháp để hợp nhất hai bảng bằng MySQL union

create table yourTableName
(
   select *from yourTableName1
)
UNION
(
   select *from yourTableName2
);

Để hiểu cú pháp trên, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng đầu tiên như sau

mysql> create table Old_TableDemo
   -> (
   -> UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> UserName varchar(20)
   -> );
Query OK, 0 rows affected (0.63 sec)

Truy vấn để tạo bảng thứ hai như sau

mysql> create table Old_TableDemo2
   -> (
   -> UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> UserName varchar(20)
   -> );
Query OK, 0 rows affected (0.60 sec)

Chèn một số bản ghi trong bảng đầu tiên bằng cách sử dụng lệnh chèn. Truy vấn như sau -

mysql> insert into Old_TableDemo(UserName) values('John');
Query OK, 1 row affected (0.22 sec)
mysql> insert into Old_TableDemo(UserName) values('Carol');
Query OK, 1 row affected (0.15 sec)

Hiển thị tất cả các bản ghi từ bảng đầu tiên bằng cách sử dụng câu lệnh select. Truy vấn như sau -

mysql> select *from Old_TableDemo;

Sau đây là kết quả

+--------+----------+
| UserId | UserName |
+--------+----------+
|      1 | John     |
|      2 | Carol    |
+--------+----------+
2 rows in set (0.00 sec)

Bây giờ bạn có thể chèn một số bản ghi trong bảng thứ hai bằng cách sử dụng lệnh insert. Truy vấn như sau -

mysql> insert into Old_TableDemo2(UserName) values('Larry');
Query OK, 1 row affected (0.22 sec)
mysql> insert into Old_TableDemo2(UserName) values('Sam');
Query OK, 1 row affected (0.10 sec)

Hiển thị tất cả các bản ghi từ bảng thứ hai bằng cách sử dụng câu lệnh select. Truy vấn như sau -

mysql> select *from Old_TableDemo2;

Sau đây là kết quả

+--------+----------+
| UserId | UserName |
+--------+----------+
|      1 | Larry    |
|      2 | Sam      |
+--------+----------+
2 rows in set (0.00 sec)

Đây là truy vấn để tạo một bảng mới từ việc hợp nhất hai bảng với union

mysql> create table UserTableDemo
   -> (
   -> select *from Old_TableDemo
   -> )
   -> UNION
   -> (
   -> select *from Old_TableDemo2
   -> );
Query OK, 4 rows affected (1.18 sec)
Records: 4 Duplicates: 0 Warnings: 0

Hãy để chúng tôi kiểm tra các bản ghi bảng của bảng mới. Truy vấn như sau -

mysql> select *from UserTableDemo;

Sau đây là kết quả

+--------+----------+
| UserId | UserName |
+--------+----------+
|      1 | John     |
|      2 | Carol    |
|      1 | Larry    |
|      2 | Sam      |
+--------+----------+
4 rows in set (0.00 sec)