力扣数据库题库学习(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 用于合并两个查询的结果集,并自动去重。

相关推荐
胚芽鞘6811 小时前
关于java项目中maven的理解
java·数据库·maven
nbsaas-boot2 小时前
Java 正则表达式白皮书:语法详解、工程实践与常用表达式库
开发语言·python·mysql
数字芯片实验室2 小时前
分享一个可以学习正则表达式的网址:Pythex.org
学习·正则表达式
陈洪奇2 小时前
注册中心学习笔记整理
笔记·学习
光影少年2 小时前
从前端转go开发的学习路线
前端·学习·golang
sun0077004 小时前
mysql索引底层原理
数据库·mysql
程序员秘密基地4 小时前
基于html,css,vue,vscode,idea,,java,springboot,mysql数据库,在线旅游,景点管理系统
java·spring boot·mysql·spring·web3
workflower7 小时前
MDSE和敏捷开发相互矛盾之处:方法论本质的冲突
数据库·软件工程·敏捷流程·极限编程
叁沐7 小时前
MySQL 11 怎么给字符串字段加索引?
mysql
Tony小周7 小时前
实现一个点击输入框可以弹出的数字软键盘控件 qt 5.12
开发语言·数据库·qt