力扣数据库题库学习(5.8日)--mysql UNION与UNION ALL方法使用详解

UNION ALL

UNION ALL 是 SQL 中用于合并两个或多个查询结果集的操作符。它将两个或多个查询的结果集堆叠在一起,不去重重复的行。

使用方法:

UNION ALL 的语法如下:

sql 复制代码
SELECT column1, column2, ...
FROM table1
UNION ALL
SELECT column1, column2, ...
FROM table2;

其中,column1, column2, ... 是要查询的列,而 table1table2 是要查询的表。

示例 1:合并两个表的结果集

假设有两个表 CustomersSuppliers,它们有一些共同的列,我们想要将它们的数据合并成一个结果集。

sql 复制代码
SELECT customer_id, name, email
FROM Customers
UNION ALL
SELECT supplier_id, name, email
FROM Suppliers;

这个查询会将 Customers 表和 Suppliers 表的数据合并成一个结果集,包括了所有的行,不去重。

示例 2:合并查询的结果集

假设我们有两个查询,它们的列相同,我们想要将它们的结果集合并起来。

sql 复制代码
SELECT product_id, name, price
FROM Products
WHERE category = 'Electronics'
UNION ALL
SELECT product_id, name, price
FROM Products
WHERE category = 'Clothing';

这个查询会将两个子查询的结果集合并成一个结果集,包括了所有满足条件的行,不去重。

总的来说,UNION ALL 用于合并多个查询的结果集,它会将所有行都包含在结果集中,不去重。

UNION

UNION 是 SQL 中用于合并两个查询结果集的操作符。它将两个查询的结果集合并在一起,并自动去重重复的行。

使用方法:

UNION 的语法如下:

sql 复制代码
SELECT column1, column2, ...
FROM table1
UNION
SELECT column1, column2, ...
FROM table2;

其中,column1, column2, ... 是要查询的列,而 table1table2 是要查询的表。

示例 1:合并两个表的结果集并去重

假设有两个表 CustomersSuppliers,它们有一些共同的列,我们想要将它们的数据合并成一个结果集,并去重重复的行。

sql 复制代码
SELECT customer_id, name, email
FROM Customers
UNION
SELECT supplier_id, name, email
FROM Suppliers;

这个查询会将 Customers 表和 Suppliers 表的数据合并成一个结果集,并去除重复的行。

示例 2:合并查询的结果集并去重

假设我们有两个查询,它们的列相同,我们想要将它们的结果集合并起来,并去重。

sql 复制代码
SELECT product_id, name, price
FROM Products
WHERE category = 'Electronics'
UNION
SELECT product_id, name, price
FROM Products
WHERE category = 'Clothing';

这个查询会将两个子查询的结果集合并成一个结果集,并去除重复的行。

总的来说,UNION 用于合并两个查询的结果集,并自动去重。

相关推荐
我的xiaodoujiao11 分钟前
从 0 到 1 搭建 Python 语言 Web UI自动化测试学习系列 15--二次开发--封装公共方法 3
python·学习·测试工具
立志成为大牛的小牛19 分钟前
数据结构——十四、构造二叉树(王道408)
数据结构·笔记·学习·程序人生·考研
稚辉君.MCA_P8_Java26 分钟前
WebSocket 是什么原理?为什么可以实现持久连接?
网络·数据库·websocket·网络协议
RanceGru41 分钟前
LLM学习笔记5——本地部署ComfyUI和Wan2.1-T2V-1.3B文生视频模型
笔记·学习·stable diffusion·transformer
小光学长44 分钟前
基于Vue的图书馆座位预约系统6emrqhc8(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
前端·数据库·vue.js
molong9311 小时前
Activity/Service/Broadcast/ContentProvider 生命周期交互
android·学习·交互
楼田莉子1 小时前
python学习:爬虫+项目测试
后端·爬虫·python·学习
code小毛孩1 小时前
如何简单的并且又能大幅度降低任务队列的锁粒度、提高吞吐量?
java·jvm·数据库
嘉年华-cocos1 小时前
高中3500个单词, 纯粹数据版, 助力背诵, 按相似度+从短到长 排序
学习·英语·背单词·音标·记单词
东风西巷2 小时前
draw.io(免费流程图制作工具) 中文绿色版
学习·电脑·流程图·软件需求·draw.io