UNION用于合并多个SELECT结果集,要求列数相同且数据类型兼容,UNION去重而UNION ALL保留重复行,性能更高;可用于合并结构相似表、统一查询结果或跨表搜索,排序需在最后用ORDER BY。

在 MySQL 中,UNION 操作符用于合并两个或多个 SELECT 查询的结果集。使用 UNION 可以将多个查询的输出组合成一个结果表,常用于从不同表中提取结构相似的数据。
UNION 的基本语法
UNION 的基本结构如下:
SELECT 列1, 列2 FROM 表1
UNION
SELECT 列1, 列2 FROM 表2;
注意:每个 SELECT 语句中的列数必须相同,对应列的数据类型也需要兼容。
UNION 与 UNION ALL 的区别
UNION 会自动去除结果中的重复行,而 UNION ALL 保留所有行,包括重复项。
如果不需要去重,使用 UNION ALL 性能更高 如果数据中可能存在重复且希望只保留唯一记录,使用 UNION
示例:
蓝心千询
蓝心千询是vivo推出的一个多功能AI智能助手
34 查看详情
SELECT name FROM users
UNION ALL
SELECT name FROM admins;
这个查询会返回 users 和 admins 表中所有的 name,包括重复值。
使用场景和注意事项
常见用途包括:
合并来自多个结构相似表的数据(如按时间分表的日志) 统一不同来源但字段含义相同的查询结果 实现跨表搜索功能
使用时需注意:
每个 SELECT 的列数必须一致 对应列的数据类型应兼容 排序操作应放在最后一个 SELECT 后使用 ORDER BY 可以结合 WHERE、LIMIT 等子句进行过滤
例如对合并结果排序:
SELECT id, name FROM students
UNION
SELECT id, name FROM teachers
ORDER BY name;基本上就这些,合理使用 UNION 能让数据整合更灵活高效。
以上就是如何在mysql中使用UNION合并查询结果的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/296136.html
微信扫一扫
支付宝扫一扫