我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL如何合并查询结果

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL如何合并查询结果

今天小编给大家分享一下MySQL如何合并查询结果的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

利用 UNION 关键字,可以给出多条 SELECT 语句,并将它们的结果组合成单个结果集。合并 时,两个表对应的列数和数据类型必须相同。各个 SELECT 语句之间使用 UNION 或 UNION ALL 关键字分隔。UNION 不使用关键字 ALL,执行的时候删除重复的记录,所有返回的行都是唯一的; 使用关键字 ALL 的作用是不删除重复行也不对结果进行自动排序。基本语法格式如下:

SELECT column,... FROM table1
UNION [ALL]
SELECT column,... FROM table2

查询所有价格小于 9 的水果的信息,查询 s_id 等于 101 和 103 所有的水果的信息, 使用 UNION 连接查询结果,SQL 语句如下: 

SELECT s_id, f_name, f_price
FROM fruits
WHERE f_price < 9.0
UNION SELECT s_id, f_name, f_price
FROM fruits
WHERE s_id IN(101,103);

 合并查询结果如下:

MySQL如何合并查询结果

如前所述,UNION 将多个 SELECT 语句的结果组合成一个结果集合。可以分开查看每个 SELECT 语句的结果: 

SELECT s_id, f_name, f_price FROM fruits WHERE f_price < 9.0;

MySQL如何合并查询结果

SELECT s_id, f_name, f_price FROM fruits WHERE s_id IN(101,103);

MySQL如何合并查询结果

 由分开查询的结果可以看到,第 1 条 SELECT 语句查询价格小于 9 的水果,第 2 条 SELECT 语句查询供应商 101 和 103 提供的水果。使用 UNION 将两条 SELECT 语句分隔开,执行完毕之后 把输出结果组合成单个的结果集,并删除重复的记录。

使用 UNION ALL 包含重复的行,在前面的例子中,分开查询时,两个返回结果中有相同的 记录。UNION 从查询结果集中自动去除了重复的行,如果要返回所有匹配行,而不进行删除,可 以使用 UNION ALL。

查询所有价格小于 9 的水果的信息,查询 s_id 等于 101 和 103 的所有水果的信息, 使用 UNION ALL 连接查询结果,SQL 语句如下:

SELECT s_id, f_name, f_price
FROM fruits
WHERE f_price < 9.0
UNION ALL
SELECT s_id, f_name, f_price
FROM fruits
WHERE s_id IN(101,103);

查询结果如下:

MySQL如何合并查询结果

由结果可以看到,这里总的记录数等于两条 SELECT 语句返回的记录数之和,连接查询结果 并没有去除重复的行。

提 示 :UNION 和 UNION ALL 的区别:使用 UNION ALL 的功能是不删除重复行,加上 ALL 关 键字语句执行时所需要的资源少,所以尽可能地使用它,因此知道有重复行但是想保留 这些行,确定查询结果中不会有重复数据或者不需要去掉重复数据的时候,应当使用 UNION ALL 以提高查询效率。 

以上就是“MySQL如何合并查询结果”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL如何合并查询结果

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL如何合并查询结果

今天小编给大家分享一下MySQL如何合并查询结果的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。利用 UNION 关键字,可以
2023-04-06

sql两个查询结果怎么合并

要合并两个查询结果,可以使用UNION操作符。UNION操作符将两个查询结果合并为一个结果集,并去除重复的行。例如,假设有两个查询:SELECT column1 FROM table1SELECT column2 FROM table2
sql两个查询结果怎么合并
2024-04-09

Oracle中怎么将查询结果合并

在Oracle中,可以使用UNION或UNION ALL关键字将查询结果合并到一个结果集中。UNION关键字用于合并两个或多个SELECT语句的结果集,并除去重复的行。语法如下:SELECT 列名1, 列名2, ... FROM 表名1
Oracle中怎么将查询结果合并
2024-04-09

php如何查询结果并赋值变量

这篇文章主要讲解了“php如何查询结果并赋值变量”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何查询结果并赋值变量”吧!一、连接数据库在PHP中,首先需要连接到数据库才能进行数据的查
2023-07-05

sql怎么纵向合并多个查询结果

在SQL中,可以使用UNION操作符来纵向合并多个查询结果。UNION操作符用于合并两个或多个SELECT语句的结果集,返回一个包含所有结果的单一结果集。语法如下:```SELECT column1, column2, ... FROM t
2023-09-15

如何垂直显示MySQL查询结果?

通过在语句末尾使用 ego, \G 选项,我们可以获得垂直格式的结果集。考虑以下示例−mysql> Select * from Student where name = Aarav\G***************************
2023-10-22

mysql如何根据查询结果创建表

要根据查询结果创建表,可以使用SELECT INTO语句来实现。以下是一个示例:CREATE TABLE new_tableSELECT column1, column2FROM existing_tableWHERE condit
mysql如何根据查询结果创建表
2024-04-22

sql如何把两个查询结果合在一起

在SQL中,可以使用UNION操作符将两个查询结果合并在一起。例如:SELECT column1, column2FROM table1WHERE condition1UNIONSELECT column1, column2FR
sql如何把两个查询结果合在一起
2024-04-09

oracle查询怎么将结果用逗号隔开合并

在Oracle中可以使用`LISTAGG`函数来实现将查询结果用逗号隔开合并。以下是一个示例:```sqlSELECT column_name, LISTAGG(value, ',') WITHIN GROUP (ORDER BY valu
2023-08-29

mysql如何实现合并结果集并去除重复值

本篇内容介绍了“mysql如何实现合并结果集并去除重复值”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!mysql 合并结果集并去除重复值SE
2023-07-04

编程热搜

目录