MySQL中union和union all的区别

一、区别1:取结果的并集

1、union: 对两个结果集进行并集操作, 不包括重复行,相当于distinct, 同时进行默认规则的排序;

2、union all: 对两个结果集进行并集操作, 包括重复行, 即所有的结果全部显示, 不管是不是重复;

二、区别2:获取结果后的操作

1、union: 会对获取的结果进行排序操作

2、union all: 不会对获取的结果进行排序操作

三、区别3:

1、union看到结果中ID=3的只有一条

select * from student2 where id < 4

union

select * from student2 where id > 2 and id < 6

2、union all 结果中ID=3的结果有两个

select * from student2 where id < 4

union all

select * from student2 where id > 2 and id < 6

四、总结

union all只是合并查询结果,并不会进行去重和排序操作,在没有去重的前提下,使用union all的执行效率要比union高

相关推荐
进击的丸子6 分钟前
人脸识别项目如何在Spring Boot项目中如何建立数据库和管理
数据库·后端·mysql
IvorySQL21 分钟前
PostgreSQL 19:超高速聚合的全新突破
数据库·人工智能·postgresql·开源
电商API_1800790524735 分钟前
Python爬虫从入门到实战:核心技术与合规指南
大数据·数据库·爬虫
古城小栈37 分钟前
从MySQL迁移到PostgreSQL
数据库·mysql·postgresql
是萝卜干呀38 分钟前
Redis
数据库·redis·缓存
摇滚侠39 分钟前
数据库类型有哪些,除了关系型数据库,还有哪些类型,列一个表格,并列出该类型的代表数据库管理系统
数据库
切糕师学AI40 分钟前
DBeaver + PostgreSQL 中的 Global Backup 和 Backup 的区别?
数据库·postgresql·dbeaver
繁星星繁42 分钟前
【Mysql】数据库基础
android·数据库·mysql
ttthe_MOon43 分钟前
MySQL 基础:索引的定义与作用
数据库·mysql