sql union 和 union all
UNION和UNION ALL是 SQL 中用于合并两个或多个查询结果集的操作符。它们的基本作用相同但在去重和性能上有关键区别。一、核心区别特性UNIONUNION ALL去重✅ 会去除重复行❌ 保留所有行包括重复性能较慢需要排序去重更快直接合并使用场景需要唯一结果集不关心重复 / 已知不会重复记住一句话UNION ALL是直接拼接UNION是拼接后再去重。二、示例说明假设有两张表表 Atextid | name ----|------ 1 | 张三 2 | 李四表 Btextid | name ----|------ 2 | 李四 3 | 王五UNION ALL保留重复sqlSELECT id, name FROM A UNION ALL SELECT id, name FROM B;结果text1 | 张三 2 | 李四 2 | 李四 ← 重复保留 3 | 王五UNION去重sqlSELECT id, name FROM A UNION SELECT id, name FROM B;结果text1 | 张三 2 | 李四 3 | 王五三、使用限制和注意事项规则说明列数必须相同所有查询的SELECT列数必须一致列类型必须兼容对应列的数据类型必须能隐式转换列名以第一个查询为准最终结果集的列名由第一个SELECT决定ORDER BY只能放在最后不能对单个子查询排序只能对整个结果集排序LIMIT只能放在最后同上四、常见写法1. 合并查询结果sqlSELECT id, name FROM table_a UNION ALL SELECT id, name FROM table_b ORDER BY id DESC; -- 对整个结果集排序2. 合并后分页sqlSELECT id, name FROM ( SELECT id, name FROM table_a UNION ALL SELECT id, name FROM table_b ) t LIMIT 10 OFFSET 0;3. 组合UNION和WHEREsqlSELECT id, name FROM table_a WHERE status 1 UNION ALL SELECT id, name FROM table_b WHERE status 1;五、性能对比操作执行计划UNION ALL直接 Append追加结果集最快UNIONAppend Sort Unique排序去重多消耗 CPU 和内存建议如果确认数据不会重复或者业务上允许重复尽量使用UNION ALL。六、在 MyBatis-Plus / JPA 中使用MyBatis-PlusXMLxmlselect idunionExample resultTypecom.seazon.cloud.entity.Driver SELECT id, name FROM driver_info UNION ALL SELECT id, name FROM driver_history /selectJPA原生 SQLjavaQuery(value SELECT id, name FROM driver_info UNION ALL SELECT id, name FROM driver_history, nativeQuery true) ListObject[] unionQuery();七、UNION与JOIN的区别对比UNIONJOIN作用上下合并行左右关联列结果行数增加列数增加关联不需要关联条件需要ON条件图示textUNION: JOIN: 表A 行 表A 列 表B 列 表A 行 → 表A 行 表B 行 ← 横向扩展 表B 行 ↑ 表A 行 表B 行 表B 行 纵向扩展八、总结需求推荐使用结果集不允许重复UNION结果集允许重复 / 已知无重复UNION ALL优先需要排序ORDER BY放在最后需要分页先UNION再套一层LIMIT

相关新闻

MPS、MRP与APS:企业生产管理的三大核心系统

MPS、MRP与APS:企业生产管理的三大核心系统

1. 引言在现代制造业中,高效的生产计划和资源管理是企业保持竞争力的关键。MPS(主生产计划)、MRP(物料需求计划)和APS(高级计划与排程)作为企业资源计划(ERP)系统的核心组…

2026/7/24 14:21:00 阅读更多 →
APS与ERP中的MRP执行决策:关键考量因素

APS与ERP中的MRP执行决策:关键考量因素

1. MRP的核心作用与流程物料需求计划(MRP)是制造业资源规划的核心模块,其核心流程是:需求输入:接收主生产计划(MPS)或独立需求。净需求计算:将总需求与现有库存、在途库存、安全库存…

2026/7/24 14:21:00 阅读更多 →
BQ25886电源管理芯片:NVDC架构与DPM技术深度解析与实战

BQ25886电源管理芯片:NVDC架构与DPM技术深度解析与实战

1. 项目概述:为什么我们需要更聪明的电源管理芯片?做硬件开发,尤其是便携式设备,电源管理设计绝对是绕不开的“硬骨头”。我见过太多项目,功能做得天花乱坠,最后却栽在续航短、充电慢、发热大或者系统不稳定…

2026/7/24 14:19:59 阅读更多 →

最新新闻

从“能问”到“能干活”:Google Agentic Data Cloud 开启数据平台的范式革命

从“能问”到“能干活”:Google Agentic Data Cloud 开启数据平台的范式革命

2026年4月,Google Cloud Next大会上,谷歌正式发布了Agentic Data Cloud(智能体数据云)。这不是一次简单的产品迭代,而是一次彻底的架构重构——谷歌将数据、AI模型和运营数据库统一为一个单一的“行动系统”&#xff0…

2026/7/24 14:30:03 阅读更多 →
京深联动打通AI硬件出海全链路!深圳模力营生态对接会・北京站成功举办

京深联动打通AI硬件出海全链路!深圳模力营生态对接会・北京站成功举办

7月21日下午,深圳模力营生态对接会北京站——“智造硬件链通出海”产业交流会在南山(北京)智汇中心圆满落幕。作为模力营首次走出深圳、在外地系统性举办的专场活动,本次活动不仅是一次跨区域的产业对接,更是一次大湾区…

2026/7/24 14:30:03 阅读更多 →
独立产品 AI 客服系统复盘:从人工到半自动再到全自动的演进

独立产品 AI 客服系统复盘:从人工到半自动再到全自动的演进

独立产品 AI 客服系统复盘:从人工到半自动再到全自动的演进 一、独立产品的客服困境:一个人撑不起 7x24 小时的响应 独立开发者的客服场景有自己的特殊性。和大型产品有专职客服团队不同,独立产品通常只有开发者自己处理客服问题。一个典型的…

2026/7/24 14:30:03 阅读更多 →
HarmonyOS开发实战:小分享-Tabs 组件重构底部导航

HarmonyOS开发实战:小分享-Tabs 组件重构底部导航

前言 Tabs 组件 是 HarmonyOS 原生支持的底部导航方案,对比自定义 BottomTabBar 组件,Tabs 提供了更完善的路由管理和动画支持。小分享 App 当前使用自定义 BottomTabBar,本篇讲解如何用 Tabs 组件重构。详细 API 可参考 HarmonyOS Tabs 官方…

2026/7/24 14:30:03 阅读更多 →
ADS131M03高精度电能计量ADC:同步采样与硬件设计实战

ADS131M03高精度电能计量ADC:同步采样与硬件设计实战

1. 项目概述:为什么电能计量需要一颗“专业”的ADC?在电力监测、智能电表或者工业能耗分析的项目里,我们工程师常常会遇到一个核心挑战:如何同时、高精度地捕捉电网中的电压和电流信号。这不仅仅是把模拟信号变成数字信号那么简单…

2026/7/24 14:30:03 阅读更多 →
4种高效方法为照片添加经纬度信息

4种高效方法为照片添加经纬度信息

1. 照片经纬度信息添加的核心价值在数字摄影时代,照片的EXIF信息就像一张无形的身份证,记录着拍摄时的各种参数。其中地理位置信息(经纬度)对于旅行博主、户外摄影师、房产中介等群体尤为重要。它能直观展示拍摄地点,方…

2026/7/24 14:29:03 阅读更多 →

日新闻

用Highcharts 创建可拖拽三维散点立方体3D图表

用Highcharts 创建可拖拽三维散点立方体3D图表

该案例基于Highcharts scatter3d 三维散点图实现空间立方体散点可视化,核心特色:三维 X/Y/Z 三轴空间,所有散点分布在 0~10 立方体空间内;散点使用径向渐变实现立体 3D 圆球质感;支持鼠标 / 触屏拖拽画布,…

2026/7/24 0:00:29 阅读更多 →
AppCertDlls:进程创建路径上的 DLL 入口

AppCertDlls:进程创建路径上的 DLL 入口

AppCertDlls:进程创建路径上的 DLL 入口 AppCertDlls 位于 HKLM\System\CurrentControlSet\Control\Session Manager\AppCertDlls。本文的程序功能是只读列出这个键在 64 位和 32 位注册表视图中的全部值,并显示每条值的来源、名称、类型和可安全显示的数…

2026/7/24 0:00:29 阅读更多 →
我的编程之路:第一篇博客

我的编程之路:第一篇博客

大家好,我是一名编程初学者,同时这也是我编程学习之路上的第一篇博客。在这里,我想要向大家介绍我的一些想法和规划。a.自我介绍我是一个刚刚接触编程的新手,目前在学习c语言,我对编程世界充满了强烈的好奇。当然&…

2026/7/24 0:00:29 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/24 3:59:20 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/24 1:23:39 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/23 17:49:47 阅读更多 →

月新闻