在 SQL 中,有时需要将来自两个不同查询的结果 并成一个新的结果 。这可以通过使用 UNION 运算符来实现。
UNION 运算符
UNION 运算符用于连接两个或更多具有相同列数和数据类型的结果 。它创建一个包含所有三个结果 中唯一行的结果 。语法如下:
SELECT *
FROM table1
UNION
SELECT *
FROM table2;
需要注意的是,如果两个结果 中有相同的行,则在合并后的结果 中,该行只会出现一次。
UNION ALL 运算符
UNION ALL 运算符与 UNION 运算符类似,但它不会删除重复行。这意味着合并后的结果 将包含所有三个结果 中的所有行,包括重复行。语法如下:
SELECT *
FROM table1
UNION ALL
SELECT *
FROM table2;
使用场景
SQL 两结果 并可以用于各种场景,包括:
合并来自不同数据源的结果
删除重复行并创建唯一结果
组合来自不同查询的相似数据
示例
以下示例展示了如何使用 UNION 运算符合并两个结果 :
SELECT *
FROM customers
UNION
SELECT *
FROM orders;
此查询将合并 customers 表和 orders 表中的所有行,并创建一个包含两个表中所有唯一行的结果 。
注意
使用 SQL 两结果 并时,应注意以下几点:
被合并的结果 必须具有相同列数和数据类型。
如果需要删除重复行,请使用 UNION 运算符,而不是 UNION ALL 运算符。
合并后的结果 可能很大,因此需要考虑性能优化。