广告
返回顶部
首页 > 资讯 > 数据库 >MySQL查询数据之合并查询结果的案例
  • 919
分享到

MySQL查询数据之合并查询结果的案例

2024-04-02 19:04:59 919人浏览 独家记忆
摘要

小编给大家分享一下Mysql查询数据之合并查询结果的案例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!.利用uNIOn

小编给大家分享一下Mysql查询数据之合并查询结果的案例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

.

  • 利用uNIOn关键字,可以给出多条select语句,并将它们的结果组合成单个结果集。合并时,两个表对应的列数和数据类型必须相同。各个select语句之间使用union或union all 关键字分隔。

  • union不使用关键字all,执行的时候删除重复的记录,所有返回的行都是唯一的;使用关键字all的作用是不删除重复行也不对结果进行自动排序
    基本语法格式为:

select column,...from table1union [all]select column,... from table2

【例1】查询所有价格小于9的水果的信息,查询s_id等于101和103所有的水果的信息,使用union连接查询结果,sql语句如下:

mysql> 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);+------+------------+---------+| s_id | f_name     | f_price |+------+------------+---------+|  104 | lemon      |    6.40 ||  101 | apple      |    5.20 ||  103 | apricot    |    2.20 ||  104 | berry      |    7.60 ||  107 | xxxx       |    3.60 ||  105 | melon      |    8.20 ||  101 | cherry     |    3.20 ||  105 | xbabay     |    2.60 ||  102 | grape      |    5.30 ||  107 | xbabay     |    3.60 ||  101 | apple      |    5.20 ||  103 | apricot    |    2.20 ||  101 | blackberry |   10.20 ||  101 | cherry     |    3.20 ||  103 | coconut    |    9.20 |+------+------------+---------+15 rows in set (0.06 sec)

union将多个select语句的结果组合成一个结果集合。可以分开查看每个select语句的结果:

mysql> select s_id,f_name,f_price    -> from fruits    -> where f_price < 9.0;+------+---------+---------+| s_id | f_name  | f_price |+------+---------+---------+|  104 | lemon   |    6.40 ||  101 | apple   |    5.20 ||  103 | apricot |    2.20 ||  104 | berry   |    7.60 ||  107 | xxxx    |    3.60 ||  105 | melon   |    8.20 ||  101 | cherry  |    3.20 ||  105 | xbabay  |    2.60 ||  102 | grape   |    5.30 ||  107 | xbabay  |    3.60 |+------+---------+---------+10 rows in set (0.00 sec)mysql> select s_id,f_name,f_price    -> from fruits    -> where s_id in(101,103);+------+------------+---------+| s_id | f_name     | f_price |+------+------------+---------+|  101 | apple      |    5.20 ||  103 | apricot    |    2.20 ||  101 | blackberry |   10.20 ||  101 | cherry     |    3.20 ||  103 | coconut    |    9.20 |+------+------------+---------+5 rows in set (0.00 sec)

由分开查询结果可以看到,第1条select语句查询价格小于9的水果,第2条select语句查询供应商101和103提供的水果。

  • 使用union将两条select语句分隔开,执行完毕之后把输出结果组合成单个的结果集,并删除重复的记录。

  • 使用union all包含重复的行。union从查询结果集中自动去除了重复的行,如果要返回所有匹配的行,而不进行删除,可以用union all。

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

mysql> 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);+------+------------+---------+| s_id | f_name     | f_price |+------+------------+---------+|  104 | lemon      |    6.40 ||  101 | apple      |    5.20 ||  103 | apricot    |    2.20 ||  104 | berry      |    7.60 ||  107 | xxxx       |    3.60 ||  105 | melon      |    8.20 ||  101 | cherry     |    3.20 ||  105 | xbabay     |    2.60 ||  102 | grape      |    5.30 ||  107 | xbabay     |    3.60 ||  101 | apple      |    5.20 ||  103 | apricot    |    2.20 ||  101 | blackberry |   10.20 ||  101 | cherry     |    3.20 ||  103 | coconut    |    9.20 |+------+------------+---------+15 rows in set (0.00 sec)

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

union和union all的区别:

  • 使用union all的功能是不删除重复行,all关键字语句执行时所需要的资源少, 所以尽可能的使用它。

  • 确定查询结果中不会有重复数据或者不需要去掉重复数据的时候,应当尽量使用uninon all以提高查询效率。

以上是“MySQL查询数据之合并查询结果的案例”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网数据库频道!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL查询数据之合并查询结果的案例

本文链接: https://www.lsjlt.com/news/55335.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • MySQL查询数据之合并查询结果的案例
    小编给大家分享一下MySQL查询数据之合并查询结果的案例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!.利用union...
    99+
    2022-10-18
  • MySQL数据查询之连接查询的案例
    小编给大家分享一下MySQL数据查询之连接查询的案例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!连接关系是关系数据库模型的主要...
    99+
    2022-10-18
  • MySQL如何合并查询结果
    今天小编给大家分享一下MySQL如何合并查询结果的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下...
    99+
    2023-04-06
    mysql
  • mysql查询结果该如何合并
    这篇文章给大家介绍mysql查询结果该如何合并,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在mysql中,可以利用UNION操作符来合并查询结果,该操作符用于将两个以上的SE...
    99+
    2022-10-19
  • 【MySQL】基本查询(插入查询结果、聚合函数、分组查询)
    目录 一、插入查询结果二、聚合函数三、分组查询(group by & having)四、SQL查询的执行顺序五、OJ练习 一、插入查询结果 语法: INSERT INTO tab...
    99+
    2023-09-25
    mysql
  • MySQL数据库查询之多表查询总结
    目录多表关系表与表之间的联系:一对多(多对一)多对多一对一多表查询多表查询的分类1.连接查询:2.子查询内连接外连接自连接联合查询子查询标量子查询列子查询行子查询表子查询多表查询案例...
    99+
    2022-11-13
    mysql多表查询语句 mysql多表连接查询方式 mysql多表查询面试题
  • MySQL数据查询之子查询的示例分析
    这篇文章主要介绍了MySQL数据查询之子查询的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。子查询是指一个查询语句嵌套在另一个查询语...
    99+
    2022-10-18
  • MySQL数据库之联合查询 union
    目录1、应用场景2、基本语法3、order by的使用前言: 将多个查询结果的结果集合并到一起(纵向合并),字段数不变,多个查询结果的记录数合并 1、应用场景 同一张表中不同结果合并...
    99+
    2022-11-13
  • MySQL数据库之怎么联合查询
    这篇文章主要介绍了MySQL数据库之怎么联合查询的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇MySQL数据库之怎么联合查询文章都会有所收获,下面我们一起来看看吧。前言:将多个查询结果的结果集合并到一起(纵向合...
    99+
    2023-06-30
  • MySQL两个查询如何合并成一个结果详解
    目录mysql 查询合并1.先写两条select2.合并查询结果总结MySQL 查询合并 如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union...
    99+
    2022-08-31
  • MySQL自动为查询数据结果加序号
    目录数据表mysql给查询加序号解释说明相关知识点数据表 DROP TABLE IF EXISTS tb_score; CREATE TABLE tb_score( id INT(11) NOT NULL...
    99+
    2022-12-16
    MySQL查询添加序号 MySQL查询添加序号
  • MySQL合并两个查询结果(两张表字段不一样)
    如图,将图1和图2的结果合并成图3                         图1                          图2                             图3 写法: 第一个查询sql:注...
    99+
    2023-09-04
    java mysql
  • Mysql将查询结果集转换为JSON数据的实例代码
    Mysql将查询结果集转换为JSON数据 前言学生表学生成绩表查询单个学生各科成绩(转换为对象JSON串并用逗号拼接)将单个学生各科成绩转换为数组JSON串将数组串作为value并设...
    99+
    2022-11-12
  • mysql update语句根据子查询结果把子查询数据写入修改字段
    需求,应用场景 table1是统计信息表,里面存储了商店id,一个商店一条数据,table2是订单表,里面存储了多个订单,每条订单有一个字段是table1的商店id,table3是商品表,存储了多个商品,table2里面的每条数据在tab...
    99+
    2019-09-22
    mysql update语句根据子查询结果把子查询数据写入修改字段 数据库入门 数据库基础教程
  • PHP+MySQL怎么查询数据并将结果作为表格输出
    PHP是一种流行的服务器端脚本语言,可以用来创建动态网页。使用PHP时,可以使用MySQL数据库存储数据,并且使用SQL来查询数据。在本文中,我们将看到如何使用PHP从MySQL数据库中查询数据并将结果作为表格输出。准备工作在开始之前,我们...
    99+
    2023-05-14
  • 数据库查询优化之子查询优化的示例分析
    这篇文章将为大家详细讲解有关数据库查询优化之子查询优化的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1. 案例取所有不为掌门人的员工,按年龄分组!selec&#...
    99+
    2022-10-18
  • 数据库中联合查询的示例
    小编给大家分享一下数据库中联合查询的示例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 问题最终要求的结果是这样的是不...
    99+
    2022-10-18
  • MySql如何通过查询结果集更新数据
    这篇文章将为大家详细讲解有关MySql如何通过查询结果集更新数据,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。表结构 现在有用户表和用户实名认证表,user_info...
    99+
    2022-10-18
  • MySQL中将多个select语句的查询结果合并一起的方法
    下文给大家带来有关MySQL中将多个select语句的查询结果合并一起的方法内容,相信大家一定看过类似的文章。我们给大家带来的有何不同呢?一起来看看正文部分吧,相信看完MySQL中将多个selec...
    99+
    2022-10-18
  • Mysql 查询JSON结果的相关函数汇总
    JSON 格式字段是 Mysql 5.7 新加的属性,不够它本质上以字符串性质保存在库中的,刚接触时我只了解 $.xx 查询字段的方法,因为大部分时间,有这个就够了,其他交给程序就行了,但是最近一些操作需要更复杂的查...
    99+
    2022-05-19
    MySQL json MySQL json有关函数 MySQL 查询json
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作