美文网首页
MySQL 组合查询UNION

MySQL 组合查询UNION

作者: 乘风破浪的姐姐 | 来源:发表于2020-07-07 18:42 被阅读0次

通常情况下,SQL查询语句都只包含从一个或多个表中返回数据的单条语句。在MySQL中允许执行多条select语句的查询,并将结果作为单个查询结果集返回,即组合查询。
组合查询,可以使用UNION关键字来组合多条查询语句。利用UNION,可给出多条SELECT语句,将它们的结果组合成单个结果集。即给出每条SELECT语句,在各语句之间加上关键字UNION。

示例:查询学生编号小于105的学生列表,而且包括姓‘王’和姓‘李’的所有学生
先实现单条语句:
①学生编号小于105的学生列表

select s.s_no,s.s_name from student s where s.s_no <105 

查询结果:


image.png

②姓‘王’和姓‘李’的所有学生

select s.s_no,s.s_name from student s where s.s_name like '王%' or s.s_name like '李%' 

查询结果:


image.png

将上述select语句通过UNION组合起来:

select s.s_no,s.s_name from student s where s.s_no <105 
UNION
select s.s_no,s.s_name from student s where s.s_name like '王%' or s.s_name like '李%' 

查询结果:


image.png

UNION指示MySQL执行两条SELECT语句,并把输出组合成单个查询结果集
上述示例也可以使用多个where子句而不是使用UNION:

select s.s_no,s.s_name from student s where s.s_no <105 or s.s_name like '王%' or s.s_name like '李%' ;

可以看出,上述例子中,使用UNION可能比使用WHERE子句更复杂。对于更复杂的过滤条件,或者从多个表(而不是单个表)中检索数据的情形,使用UNION可能会使处理更简单。

使用UNION组合查询适用于以下两种情况

  1. 在单个查询中从不同的表中返回类似结构的数据;
  2. 在对单个表执行多个查询,按照单个查询返回数据。

注意:
1.UNION从查询结果中会自动删除重复行,where也是会自动去除重复行
2.UNIONAll 则不会从结果中自动删除重复行。
3.必须由两条或者两条以上的select语句组成,语句之间用关键字union分隔
4.组合查询可以组合不同的表之间的查询,但是要保证查询的返回的列,表达式,或者聚合函数保持一致。
5、对组合查询结果的排序
Select 语句的输出用order by子句排序,在用union查询时,只能在最后一条select子句之后使用order by,不允许使用多条order by 子句。

相关文章

  • MySQL 组合查询UNION

    通常情况下,SQL查询语句都只包含从一个或多个表中返回数据的单条语句。在MySQL中允许执行多条select语句的...

  • mysql组合查询union

    1.组合查询必须由2条或2条以上的select语句组成,语句之间使用union2.union的每个查询必须包含相同...

  • chapter17:组合查询

    利用UNION操作符将多条SELECT语句组合成一个结果集。 组合查询 MySQL允许执行多个查询并将结果作为单个...

  • MySQL之组合查询(UNION)

    本文主要介绍如何利用UNION操作符将多条SELECT语句组合成一个结果集。 I、组合查询基础 1、MySQL也允...

  • mysql 合并结果集

    mysql查询时经常会把多个查询结果集进行合并。主要使用UNION 和 UNION ALL。两者区别如下: 对查询...

  • 11. 组合查询

    组合查询 SQL 允许执行多个查询,并将结果作为一个查询结果集返回,这些组合查询通常称为并(union)或复合查询...

  • mysql不规则排序笔记!

    因为是同张表可以使用union或者union all 来查询,缺点是查询语句比较长 MySQL可以通过field(...

  • 【MySQL笔记】5 组合查询

    MySQL笔记基于教材,笔记中用到的数据库可以点击该链接下载 组合查询 在各条SELECT语句间放上UNION即可...

  • 从0到1学习网络安全 【MySQL基础-MySQL UNION

    MySQL UNION 操作符 MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一...

  • 数据库相关知识复习

    MYSQL 连接 UNION MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个...

网友评论

      本文标题:MySQL 组合查询UNION

      本文链接:https://www.haomeiwen.com/subject/aessxktx.html