#MYSQL#这是我MySQL的第八篇教程。本篇主要介绍的是MySQL的组合查询的用法。在大多数的SQL查询中都只包含从一个或者多个表中返回数据的单条SELECT语句,MySQL其实也支持允许执行多条SELECT语句,并将结果作为单个结果集返回,这些组合查询通常称为并(union)或者叫做复合查询。

组合查询也有他的使用场景,第一个就是在单个查询中从不同的表返回类似结构的数据时,第二个就是在复单个表执行多个查询,按单个查询返回数据。在多数的情况下组合相同表的两个查询完成的工作与多个WHERE子句条件的单条查询完成的工作是相同的。

首先来看一下如何创建组合查询,在创建组合查询的时候使用的操作符是UNION,利用UNION来将多条SELECT语句进行关联,他所作的很简单,就这在多条SELECT语语句之间加上UNION就可以了。

举一个例子,假如需要查询价格小于等于5的所有物品的一个列表,而且还想查询出供应商编号为1001和1002的所有物品,就可以使用UNION来连接两个SELECT的查询语句,在这里就做到鱼和熊掌可兼得的事情。这条语句就是由两条SELECT语句组成,中间使用UNION来进行连接,

union的使用规则,union组合查询是非常容易实现的,但是有几点需要注意,第一就是UNION必须由两条或者两条以上的SELECT语句组成,一条也就不叫组了。第二点,UNION中的每个查询必须包含相同的列,表达式或者聚集函数。

UNION的另外一个功能就是包含或者取消重复的行。union从查询结果集中自动去除了重复的行,换句话说就是他的行与单条的SELECT语句中使用多个WHERE子句条件是一样的。这是UNION的默认功能,但是如果需要可以改变他,就是说如果需要匹配所有的行,可以使用UNION ALL而不是UNION. 在使用UNION ALL时MySQL不取消重复的行。

UNION的另外一个用处就是可以对组合结果进行排序,在SELECT语句中输出的结果集需要排序是使用ORDER BY子句,它必须出现在最后一条的SELECT语句之后,对于组合查询的结果集来说,不存在用一直方式排序,而且在使用组合排序的时候只能使用一次ORDER BY排序,不管你有几条SELECT语句进行组合。

在这条UNION语句当中最后一个SELECT语句使用 了,ORDER BY子句,虽然ORDER BY子句似乎只是最后一个SELECT语句的专属,但是实际上他是对整体的结果集进行了排序,而不单单只是对最后一个SELECT语句进行排序的。

以上内容就是全部的组合查询UNION的使用方法和注意事项,希望对你在日常开发过程中能有所帮助。

mysql 组合查询_MySQL组合查询教程相关推荐

  1. 简单mysql 查询_MySQL简单查询详解

    MySQL的查询操作 单表查询:简单查询 多表查询:连接查询 联合查询 布尔条件表达式操作符= 等值比较 <=>:跟空值比较不会产生额外信息的等值比较 <>:不等值 <: ...

  2. mysql的复杂查询_mysql复杂查询

    所谓复杂查询,指涉及多个表.具有嵌套等复杂结构的查询.这里简要介绍典型的几种复杂查询格式. 一.连接查询 连接是区别关系与非关系系统的最重要的标志.通过连接运算符可以实现多个表查询.连接查询主要包括内 ...

  3. mysql 最值复杂查询_MySQL高级查询

    我们使用SQL查询不能只使用很简单.最基础的SELECT语句查询.如果想从多个表查询比较复杂的信息,就会使用高级查询实现.常见的高级查询包括多表连接查询.内连接查询.外连接查询与组合查询等,今天我们先 ...

  4. MySQL实验四数据库的查询_MySQL数据库查询(实验四)

    MySQL数据库查询 准备工作:脚本文件xkgl.sql下载:xkgl脚本.sql 1.执行脚本xkgl.sql (创建xkgl库.表及插入数据),观察有无错误,如有记录错误信息,并解决. (1) 执 ...

  5. mysql商品查询_mysql的查询、子查询及连接查询(商城查询常用)

    一.mysql查询的五种子句 where(条件查询).having(筛选).group by(分组).order by(排序).limit(限制结果数) 1.where常用运算符: 比较运算符 > ...

  6. mysql 内嵌查询_mysql嵌套查询_MySQL

    mysql嵌套查询_MySQL 一:创建ecs_goods表插入以下数据: +----------+------------------------------+--------+---------- ...

  7. mysql的右连接查询_mysql连接查询(左连接,右连接,内连接)

    一.mysql常用连接 INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录. LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录. RIGHT JOIN ...

  8. mysql 缓存监控_MySql 缓存查询原理与缓存监控 和 索引监控

    MySql缓存查询原理与缓存监控 And 索引监控 by:授客 QQ:1033553122 查询缓存 1.查询缓存操作原理 mysql执行查询语句之前,把查询语句同查询缓存中的语句进行比较,且是按字节 ...

  9. mysql rand() 子查询_MySQL ------ 子查询(十三)

    查询(query):任何SQL 都是查询,但此术语一般指select 语句 子查询(subquery):嵌套在查询中的查询,MySQL4.1 引入对子查询的支持. 接下来得就比较有意思了,需要你对于表 ...

最新文章

  1. jiebaR中文分词,从入门到喜欢
  2. 浅析网站友情链接交换潜在问题有哪些?
  3. ig信息增益 java_文本分类综述
  4. hdoj1045 Fire Net(二分图最大匹配)
  5. php的具体配置学习笔记
  6. idea 编译jar_Flink1.9.2源码编译和使用
  7. paypal ec.php,paypal 支付流程
  8. Python xlwt 操作 excel 表格基础(三):单元格格式、字体格式、对齐方式、边框及填充等
  9. 给我“空降”一个弟兄
  10. 关于Oracle练习
  11. PageHelper 分页插件只用Page、不用PageInfo 的写法
  12. Ubuntu官网安装教程
  13. rk3399 typec鼠标及滑鼠问题
  14. 2022年Spark基础学习笔记
  15. matlab用牛顿差值计算三次差值多项式,计算方法用Newton插值多项式求函数的近似值.docx...
  16. FATE学习:五种不同的API提交FATE任务
  17. 在DW中制作网页中的表格
  18. 被网红时代毁掉的“小马云”
  19. 新一代数字化转型信息化总体规划方案
  20. 无纸化案例分析之一——21位标准长方形会议室

热门文章

  1. 关于二手交易用户指南怎么写_让用户拍案叫绝文案怎么写?试试这3个方法
  2. java队列实现限流,java中应对高并发的两种策略
  3. mysql 创建分区表_Mysql分区表及自动创建分区Partition
  4. Java Integer类shortValue()方法与示例
  5. python 示例_Python中带有示例的class关键字
  6. 十四、PyCharm开发Python利用WMI修改电脑IP、DNS
  7. websphere一直安装部署_WebSphere集群安装配置及部署应用说明
  8. 思科CCNA第二学期期末考试答案
  9. 发现了imageio文档中有代替scipy.misc的说明
  10. Android10打断动画,Android开发(10) 动画(Animation)