UNION 联合查询

目录

一、概述

UNION

[UNION ALL](#UNION ALL)

二、注意事项

性能考虑

排序

子查询限制

三、实际应用场景

数据整合

分段查询

参考文献以及数据来源


一、概述

Union联合操作,用于合并两个或者多个select语句的结果集。

它是一种将多个查询结果组合在一起的方式,但与多表连接不同,它并不基于表之间的关系进行数据的匹配和组合,而是简单将查询结果堆叠在一起。

UNION

默认去重:union默认去掉重复行

列数必须相同:参与union的所有语句必须返回相同数量的列,并且相应的列的数据类型要兼容。

列名来着第一个查询:最终结果集的列名有第一个select语句定义。

sql 复制代码
SELECT * FROM emp where name like '%三%'
union
SELECT * FROM emp where managerid BETWEEN 6 and 10 ORDER BY managerid DESC;

UNION ALL

不希望去掉重复项,可以使用这个,它比union更快,因为它不需要执行额外的去重操作。

sql 复制代码
SELECT * FROM emp where name like '%三%'
union all
SELECT * FROM emp where managerid BETWEEN 6 and 10 ORDER BY managerid DESC;

二、注意事项

性能考虑

如果知道结果集中不会出现重复行,或者不在乎出现重复行,那么使用UNIONALL会更高效,因为它不需要去重处理。

排序

如果想对整个结果集进行排序,可以在最后一个select语句 使用order by 子句。

子查询限制

每个select语句可以包含自己的WHERE、GROUPBY或HAVING子句,但是这些子句只能应用于各自的查询,而不能影响整个查询结果集。

三、实际应用场景

数据整合

当需要从不同来源获取数据并将其作为一个整体来看待时,UNION就非常有用。

例如,合并不同部门的员工信息。

分段查询

由于数据量过大,你可能需要将查询分成几个部分来执行,然后使用UNION将结果合并起来。

参考文献以及数据来源

使用数据来源MySQL学习(三)------多表连接查询_多表关联查询-CSDN博客

相关推荐
zlwool6 小时前
图纸管理选型避坑指南
数据库·erp·设备erp·非标机械
小灰灰搞电子8 小时前
完全驾驭 Qt 与数据库:C++ ORM 框架 QxOrm 原理与实践指南
数据库·c++·qt
软件聚导航9 小时前
「聚小软 AI 助手」技术升级:从数据库检索到 RAG 知识库问答
前端·数据库·mysql·微信小程序·小程序·ai编程·rag
学习星球10 小时前
单调栈——从“找下一个更大的“到柱状图中的最大矩形
数据库·c++·算法·leetcode·xcode
GoppViper11 小时前
RDF资源描述框架深度解析:语义Web的数据基石与实战逻辑
前端·数据库
2601_9621741711 小时前
Redis 简介
数据库·redis·wpf
夜雪一千11 小时前
MySQL 各种数据同步方案全梳理:从简单复制到异构同步实战
数据库·mysql
Highcharts.js12 小时前
Highcharts 下钻(Drilldown)柱状图 Demo
数据库·信息可视化·hbase·highcharts·drilldown·js模块·下钻图表
翼龙云_cloud12 小时前
阿里云国际渠道代理商:如何在ECS上部署Flask应用?
运维·数据库·阿里云·flask·云计算
进阶的小木桩13 小时前
mysql 安装问题解决方案记录
数据库·mysql