UNION ALL
UNION ALL
是 SQL 中用于合并两个或多个查询结果集的操作符。它将两个或多个查询的结果集堆叠在一起,不去重重复的行。
使用方法:
UNION ALL
的语法如下:
SELECT column1, column2, ...
FROM table1
UNION ALL
SELECT column1, column2, ...
FROM table2;
其中,column1, column2, ...
是要查询的列,而 table1
和 table2
是要查询的表。
示例 1:合并两个表的结果集
假设有两个表 Customers
和 Suppliers
,它们有一些共同的列,我们想要将它们的数据合并成一个结果集。
SELECT customer_id, name, email
FROM Customers
UNION ALL
SELECT supplier_id, name, email
FROM Suppliers;
这个查询会将 Customers
表和 Suppliers
表的数据合并成一个结果集,包括了所有的行,不去重。
示例 2:合并查询的结果集
假设我们有两个查询,它们的列相同,我们想要将它们的结果集合并起来。
SELECT product_id, name, price
FROM Products
WHERE category = 'Electronics'
UNION ALL
SELECT product_id, name, price
FROM Products
WHERE category = 'Clothing';
这个查询会将两个子查询的结果集合并成一个结果集,包括了所有满足条件的行,不去重。
总的来说,UNION ALL
用于合并多个查询的结果集,它会将所有行都包含在结果集中,不去重。
UNION
UNION
是 SQL 中用于合并两个查询结果集的操作符。它将两个查询的结果集合并在一起,并自动去重重复的行。
使用方法:
UNION
的语法如下:
SELECT column1, column2, ...
FROM table1
UNION
SELECT column1, column2, ...
FROM table2;
其中,column1, column2, ...
是要查询的列,而 table1
和 table2
是要查询的表。
示例 1:合并两个表的结果集并去重
假设有两个表 Customers
和 Suppliers
,它们有一些共同的列,我们想要将它们的数据合并成一个结果集,并去重重复的行。
SELECT customer_id, name, email
FROM Customers
UNION
SELECT supplier_id, name, email
FROM Suppliers;
这个查询会将 Customers
表和 Suppliers
表的数据合并成一个结果集,并去除重复的行。
示例 2:合并查询的结果集并去重
假设我们有两个查询,它们的列相同,我们想要将它们的结果集合并起来,并去重。
SELECT product_id, name, price
FROM Products
WHERE category = 'Electronics'
UNION
SELECT product_id, name, price
FROM Products
WHERE category = 'Clothing';
这个查询会将两个子查询的结果集合并成一个结果集,并去除重复的行。
总的来说,UNION
用于合并两个查询的结果集,并自动去重。