MySQL 中有一条常用的 SQL 语句,可以将两张表合并到一张表中,即 UNION ALL 语句。该语句的语法如下:
sql
SELECT * FROM table1
UNION ALL
SELECT * FROM table2;
本语句将从 table1 和 table2 中选择所有列,并将结果合并到一张表中。 UNION ALL 语句的参数如下:
* **table1**:要合并的第一张表
* **table2**:要合并的第二张表
UNION ALL 和 UNION 的区别
除了 UNION ALL,MySQL 还有另一个合并表的语句:UNION。UNION 和 UNION ALL 之间的区别在于,UNION 会删除重复的行,而 UNION ALL 不会。
* **UNION**:只选择 table1 和 table2 中不重复的行。
* **UNION ALL**:选择 table1 和 table2 中的所有行,包括重复行。
合并表的注意事项
合并表时,需要注意以下事项:
* 确保要合并的表具有相同的列数。
* 确保要合并的列具有相同的数据类型。
* 如果要合并的列具有不同的名称,则可以使用 AS 关键字重命名它们。
示例
下面是一个将两张表合并到一张表中的示例:
sql
SELECT * FROM customers
UNION ALL
SELECT * FROM orders;
本语句将从 customers 和 orders 表中选择所有列,并将结果合并到一张表中。
UNION ALL 语句是一个强大的工具,可以将两张表合并到一张表中。它可以在各种情况下使用,例如创建汇总报告、合并重复数据以及从不同来源收集数据。