MySQL合并查询结果

article/2025/10/2 20:16:49

利用 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);

 合并查询结果如下:

 

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

 

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

 

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

 由分开查询的结果可以看到,第 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);

查询结果如下: 

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

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


http://chatgpt.dhexx.cn/article/ZK6PMlaK.shtml

相关文章

SQL如何使两个select语句查询结果合并一个

SQL如何使两个select语句查询结果合并一个&#xff1f; ——在网上看到别人遇到的情况&#xff0c;觉得有点意思&#xff0c;先收集下来~ 解决办法&#xff1a; select isnull(a.unit,b.fine_units) unit,isnull(a.number,0) number,isnull(b.fine_number,0) fine_numberfrom…

sqlsever2019:union合并多个查询结果

文章目录 一、前言二、区别union和连接三、union实例四、union all合并表五、union中的oder by子句六、union自动数据类型转换七、使用union合并不同类型的数据八、union合并不同列数的两个表九、union多表合并 一、前言 表的合并操作将两个表的行合并到一个表中&#xff0c;不…

SQL 列不同的表查询结果合并

两个不同的表进行查询&#xff0c;需要把结果合并&#xff0c; 比如table1的列为 id, user_id, type_id,pro_id&#xff1b; table2的列为 id,user_id,collect_id&#xff1b;分别如下图所示 table1&#xff1a; table2&#xff1a; 将两个表的查询结果合并到一起的查询语…

SQL多个查询结果拼接

今天有一个需求&#xff0c;我有三张表&#xff0c;一张学生表&#xff0c;一张教师表&#xff0c;一样辅导员。 它们都有编号&#xff0c;都有密码&#xff0c;但是字段名不一样&#xff0c;我想一次查询出三张表里面这些编号和密码放在一个查询结果集里面&#xff01; 我们可…

各数据库SQL查询结果多行数据合并成一行

SQL查询结果多行数据合并成一行 一、Oracle函数多行数据合并成一行二、Mysql函数多行数据合并成一行三、sqlserver函数多行数据合并成一行四、postgresql函数多行数据合并成一行 业务需要需要在oracle函数里把多行数据合并成一行&#xff0c;顺道发挥下常用的几种方法。 一、O…

【sql语句基础】——查(select)(合并查询)

目录 合并查询单独查询合并查询——UNION ALLUNION ALL定义UNION ALL代码示例UNION ALL查询结果 合并查询——UNION ALLUNION 定义UNION 代码示例UNION 查询结果 合并查询 当我们需要将多个select查询结果合并在一起的时候&#xff0c;可以使用集合操作符号&#xff1a;union …

微信小程序-循环语句的使用

循环语句的使用 小程序中的循环语句 for&#xff0c;就是在.js中定义循环的数组&#xff0c;把要循环的数据写到数组里面&#xff0c;然后再到*.wxml中进行逐一展示就行了。这里结合一下icon标签的属性来演示 循环语句的基本使用。 重点需要明白的是&#xff1a;小程序中的 fo…

微信小程序-页面FOR循环和嵌套循环

单个循环 <view wx:for"{{pinpaiTishi}}" wx:key"{{xxx}}"><view wx:if"{{item.name!null}}" wx:key"{{xxxx}}">//判断name是否为null<view class"tr"><view class"td-left"></view&…

微信小程序如何双重循环

微信小程序解决双重循环 准备知识 wx:for : 使用数组中各项的数据重复渲染该组件 当前项的下标变量名默认为 index&#xff0c;当前项的变量名默认为 item 可使用 wx:for-item 指定当前元素的变量名&#xff0c;使用 wx:for-index 指定当前下标的变量名 wx:key : 指定列表中项…

微信小程序—for循环包括自定义for循环中的item和index(图文)

微信小程序—for循环包括自定义for循环中的item和index <view wx:for"{{list}}" wx:key"{{index}}"><text>我是第一个循环的内容---{{item}}</text> </view><!-- 自定义for循环的item和index --> <view wx:for-item&quo…

微信小程序:for循环与if判断

for和if一般都写在block里面。 wx:for"{{abc}}"&#xff1a;这是for循环&#xff0c;其中的abc就是你js文件的data里面定义的&#xff0c;一般都是数组。 index默认是循环的下标。 item默认是当前的值。 index和item可以自己定义名字&#xff1a; wx:for-index&q…

微信小程序:wx:for循环输出的使用方法以及简单例子

今天来讲解下循环输出元素 后台存储的数据给事 {var local_database [{date: "Sep 18 2016",post_title:"冬日校花",post_image: "/images/1.jpg",text: "美呀&#xff0c;美呀",view_num: 112,collect_num: 96,turn_num: 515,autho…

微信小程序_for循环

循环展示列表 wxml <text>角色列表1</text> <view><!-- 默认item是循环列表的每一个元素&#xff0c;index是索引 可以用过 --><view wx:for"{{dataList}}">{{index}}-{{item}}</view> </view> <text>角色列表2&…

微信小程序for循环遍历数组解决办法

最近在做微信小程序项目遇到一个问题&#xff0c;如下&#xff1a; 在wxml文件做wx:for循环遍历数组时&#xff0c;数组含八个元素&#xff0c;循环次数却只有五次&#xff0c;从下面代码看 <scroll-view scroll-ytrue style"height: 262rpx;"><view class…

微信小程序 if语法、for循环 条件渲染、列表渲染等讲解

这篇文章我想给大家学习的就是如何使用 if 去判断 组件的是显示和隐藏&#xff0c;如何使用for循环来渲染列表等重复的内容。 1.if语法的使用 在小程序中&#xff0c;我们可以使用wx:if"{{条件}}"来判断是否需要渲染该代码块 也可以用 wx:elif 和wx:else 来添加 el…

微信小程序-for循环

微信小程序-for循环 通过wx:for可以根据指定的数组&#xff0c;循环渲染重复的组件结构&#xff0c;语法示例如下&#xff1a; <view wx:for"{{arr}}">索引是&#xff1a;{{index}} -> 当前项是&#xff1a;{{item}}</view>默认情况下&#xff0c;当…

微信小程序之for循环

在微信小程序中也有for循环,用于进行列表渲染。 官方实例 打开微信开发者文档,在框架部分的视图层--》wxml--》列表渲染中可以看到官方给出的for循环实例,在实例中 可以看到下面相关说明。 默认数组的当前项的下标变量名默认为 index,数组当前项的变量名默认为 item;使用 …

学习如何使用微信小程序的for和foreach循环遍历获得索引和数据

学习如何使用微信小程序的for和foreach循环遍历获得索引和数据 js文件中定义数组第一种for循环方法第二种for循环方法length第三种forEach循环方法 js文件中定义数组 * 页面的初始数据*/data: {users: [{name: 张三,age: 18}, {name: 李四,age: 19}, {name: 王五,age: 20}, {n…

大数据基础(一):大数据概念

文章目录 大数据概念 数据 常见数据存储单位 大数据 大数据概念 最早提出“大数据”时代到来的是全球知名咨询公

大数据基础知识(上)

大数据基础知识&#xff1a;技巧与概念 什么是大数据数量多流转快种类多大数据需要具备全部三个特征吗&#xff1f; 如何使用大数据了解消费者大数据了解企业大数据了解科学研究大数据 大数据与数据科学大数据与小数据的差异数据科学的三大领域数据科学的类型和技能去掉大数据&…