mysql union怎么用

来源:这里教程网 时间:2026-02-28 18:13:50 作者:

MySQL UNION 操作

UNION 操作符用于组合来自不同表或同一表的两个或更多结果集,返回一个包含唯一行的组合结果。

语法:

<code>SELECT 列名1, 列名2, ...
FROM 表1
UNION
SELECT 列名1, 列名2, ...
FROM 表2
[UNION ALL
SELECT 列名1, 列名2, ...
FROM 表3];</code>

如何使用 UNION 操作符:

    确保列数和数据类型匹配:参与 UNION 操作的表的列数和数据类型必须相同。 使用 UNION ALL 移除重复项:如果需要保留重复行,请使用 UNION ALL。否则,请使用 UNION。

示例:

假设我们有 "customers" 和 "orders" 两个表:

<code>+---------+-------+
| customers | name  |
+---------+-------+
| 1        | John   |
| 2        | Mary   |
| 3        | Bob    |
+---------+-------+
+--------+---------+---------+
| orders  | customer_id | product |
+--------+---------+---------+
| 1       | 1         | Shoes   |
| 2       | 2         | Shirt   |
| 3       | 1         | Hat     |
+--------+---------+---------+</code>

以下查询使用 UNION 操作符返回客户姓名以及他们购买的产品:

<code class="sql">SELECT name, product
FROM customers
UNION
SELECT name, product
FROM orders;</code>

结果:

<code>+-------+---------+
| name  | product |
+-------+---------+
| John   | Shoes   |
| Mary   | Shirt   |
| Bob    | Hat     |
+-------+---------+</code>

相关推荐