UNION用于合并多个SELECT结果集,要求列数相同且数据类型兼容,UNION去重而UNION ALL保留重复行,性能更高;可用于合并结构相似表、统一查询结果或跨表搜索,排序需在最后用ORDER BY。
在 MySQL 中,UNION 操作符用于合并两个或多个 SELECT 查询的结果集。使用 UNION 可以将多个查询的输出组合成一个结果表,常用于从不同表中提取结构相似的数据。
UNION 的基本结构如下:
SELECT 列1, 列2 FROM 表1注意:每个 SELECT 语句中的列数必须相同,对应列的数据类型也需要兼容。
UNION 会自动去除结果中的重复行,而 UNION ALL 保留所有行,包括重复项。
示例:
SELECT name FROM users这个查询会返回 users 和 admins 表中所有的 name,包括重复值。
常见用途包括:
使用时需注意:
例如对合并结果排序:
SELECT id, name FROM students