mysql 的 union 操作符用于组合不同表或相同表中多个结果集,返回一个包含唯一行的组合结果。它需要确保列数和数据类型相同,使用 union all 时重复行将被保留,否则将被移除。

MySQL UNION 操作

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

语法:

SELECT 列名1, 列名2, ...
FROM 表1
UNION
SELECT 列名1, 列名2, ...
FROM 表2
[UNION ALL
SELECT 列名1, 列名2, ...
FROM 表3];
登录后复制

如何使用 UNION 操作符:

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

示例:

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

+---------+-------+
| customers | name  |
+---------+-------+
| 1        | John   |
| 2        | Mary   |
| 3        | Bob    |
+---------+-------+

+--------+---------+---------+
| orders  | customer_id | product |
+--------+---------+---------+
| 1       | 1         | Shoes   |
| 2       | 2         | Shirt   |
| 3       | 1         | Hat     |
+--------+---------+---------+
登录后复制

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

SELECT name, product
FROM customers
UNION
SELECT name, product
FROM orders;
登录后复制

结果:

+-------+---------+
| name  | product |
+-------+---------+
| John   | Shoes   |
| Mary   | Shirt   |
| Bob    | Hat     |
+-------+---------+
登录后复制

以上就是mysql union怎么用的详细内容,更多请关注慧达安全导航其它相关文章!

点赞(0)

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部