力扣数据库题库学习(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, ... 是要查询的列,而 table1 和 table2 是要查询的表。

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

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

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, ... 是要查询的列,而 table1 和 table2 是要查询的表。

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

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

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 用于合并两个查询的结果集,并自动去重。

相关推荐
叼烟扛炮几秒前
[LangChain] 学习笔记(06):突破大模型限制——结构化输出(Structured Output)
windows·笔记·学习·langchain
且从容.1 小时前
VUE3学习笔记(根据黑马教程总结)
笔记·学习
我是大猴子1 小时前
redis
数据库·redis·缓存
蒸蒸yyyyzwd3 小时前
关于 AI 开发相关的一些面经。
笔记·学习
苏宸啊3 小时前
MySQL(一)
数据库·mysql
2603_969694854 小时前
JDBC 基础学习笔记:API 核心原理解析与 CRUD 代码实操
数据库·笔记·mysql·学习方法·database·sql注入
这个DBA有点耶4 小时前
库内语义构建 vs 外挂向量库:业务语义缺失,才是RAG“胡说八道”的根源
数据库·mysql·aigc
kobe_OKOK_6 小时前
mysql 开启 binlog 日志
数据库·mysql
鸽芷咕6 小时前
KingbaseES 调参先看执行计划,参数是答案不是起点
数据库
这个DBA有点耶6 小时前
MySQL 8.0直方图:统计信息升级了,执行计划为什么还是选错?
数据库·mysql·代码规范