UNION ALL 语法
在 MySQL 中,
UNION ALL运算符将两个或多个 SELECT 语句的结果组合成一个单一的表。它不执行去重操作,这意味着它会保留重复行。
用法
使用
UNION ALL的语法如下:
<code class="sql">SELECT ... UNION ALL SELECT ...</code>
你可以使用多个
SELECT语句,只要它们的列数和数据类型匹配。
示例
以下示例将
customers和
orders表中的数据组合成一个单一的表:
<code class="sql">SELECT * FROM customers UNION ALL SELECT * FROM orders;</code>
结果表将包含两张表的行,包括重复行。例如,如果两个表都有一个名为
name的列,结果表也会有两个名为
name的列。
与 UNION 的区别
UNION和
UNION ALL的主要区别在于,
UNION会去除重复行,而
UNION ALL不去除重复行。如果你在结果中需要保持重复行,请使用
UNION ALL。
注意事项
UNION ALL 不执行去重,因此它可以导致较大的结果集。 确保所组合的 SELECT 语句具有相同的列数和数据类型。 如果两个 SELECT 语句的列名不同,则结果表中的列将使用第一个 SELECT 语句的列名。