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

Hợp nhất hai bảng với union trong MySQL?

Để hợp nhất hai bảng với UNION, bạn có thể sử dụng câu lệnh tạo bảng chọn. Sau đây là cú pháp -

create table yourNewTableName
select * from yourFirstTableName
UNION
select * from yourSecondTableName;

Đầu tiên chúng ta hãy tạo một bảng. Sau đây là truy vấn -

mysql> create table FirstTable
   -> (
   -> Id int,
   -> PersonName varchar(20)
   -> );
Query OK, 0 rows affected (2.10 sec)

Sau đây là truy vấn để chèn một số bản ghi trong bảng bằng cách sử dụng lệnh insert -

mysql> insert into FirstTable values(10,'Larry');
Query OK, 1 row affected (0.12 sec)

mysql> insert into FirstTable values(20,'David');
Query OK, 1 row affected (0.22 sec)

Sau đây là truy vấn để hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select -

mysql> select * from FirstTable;

Điều này sẽ tạo ra kết quả sau -

+------+------------+
| Id   | PersonName |
+------+------------+
| 10   | Larry      |
| 20   | David      |
+------+------------+
2 rows in set (0.00 sec)

Sau đây là truy vấn để tạo bảng thứ hai -

mysql> create table SecondTable
   -> (
   -> Id int,
   -> PersonName varchar(20)
   -> );
Query OK, 0 rows affected (0.91 sec)

Sau đây là truy vấn để chèn một số bản ghi trong bảng bằng cách sử dụng lệnh insert -

mysql> insert into SecondTable values(30,'Chris');
Query OK, 1 row affected (0.17 sec)

mysql> insert into SecondTable values(40,'Robert');
Query OK, 1 row affected (0.15 sec)

Bây giờ, hãy để chúng tôi hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select -

mysql> select *from SecondTable;

Điều này sẽ tạo ra kết quả sau -

+------+------------+
| Id   | PersonName |
+------+------------+
| 30   | Chris      |
| 40   | Robert     |
+------+------------+
2 rows in set (0.00 sec)

Bây giờ, tạo một bảng từ việc hợp nhất hai bảng (FirstTable + SecondTable) với union -

mysql> create table MergeBothTableDemo
   -> select * from FirstTable
   -> UNION
   -> select * from SecondTable;
Query OK, 4 rows affected (0.86 sec)
Records: 4 Duplicates: 0 Warnings: 0

Hãy để chúng tôi kiểm tra các bản ghi bảng mới. Sau đây là truy vấn -

mysql> select * from MergeBothTableDemo;

Điều này sẽ tạo ra kết quả sau -

+------+------------+
| Id   | PersonName |
+------+------------+
| 10   | Larry      |
| 20   | David      |
| 30   | Chris      |
| 40   | Robert     |
+------+------------+
4 rows in set (0.00 sec)