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 操作符:
- 确保列数和数据类型匹配:参与 UNION 操作的表的列数和数据类型必须相同。
- 使用 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怎么用的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系 yyfuon@163.com