MySQL UNION 操作符

本教程为大家介绍 MySQL UNION 操作符的语法和实例。

描述

MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。

语法

MySQL UNION 操作符语法格式:

SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions];

参数

  • expression1, expression2, ... expression_n: 要检索的列。

  • tables: 要检索的数据表。

  • WHERE conditions: 可选, 检索条件。

  • DISTINCT: 可选,删除结果集中重复的数据。默认情况下 UNION 操作符已经删除了重复数据,所以 DISTINCT 修饰符对结果没啥影响。

  • ALL: 可选,返回所有结果集,包含重复数据。


演示数据库

在本教程中,我们将使用 RUNOOB 样本数据库。

下面是选自 "Websites" 表的数据:

mysql> SELECT * FROM Websites;
+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1  | Google       | https://www.google.cm/    | 1     | USA     |
| 2  | 淘宝          | https://www.taobao.com/   | 13    | CN      |
| 3  | 菜鸟教程      | http://www.runoob.com/    | 4689  | CN      |
| 4  | 微博          | http://weibo.com/         | 20    | CN      |
| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |
| 7  | stackoverflow | http://stackoverflow.com/ |   0 | IND     |
+----+---------------+---------------------------+-------+---------+

下面是 "apps" APP 的数据:

mysql> SELECT * FROM apps;
+----+------------+-------------------------+---------+
| id | app_name   | url                     | country |
+----+------------+-------------------------+---------+
|  1 | QQ APP     | http://im.qq.com/       | CN      |
|  2 | 微博 APP | http://weibo.com/       | CN      |
|  3 | 淘宝 APP | https://www.taobao.com/ | CN      |
+----+------------+-------------------------+---------+
3 rows in set (0.00 sec)

SQL UNION 实例

下面的 SQL 语句从 "Websites" 和 "apps" 表中选取所有不同的country(只有不同的值):

实例

SELECT country FROM Websites
UNION
SELECT country FROM apps
ORDER BY country;

执行以上 SQL 输出结果如下:

注释:UNION 不能用于列出两个表中所有的country。如果一些网站和APP来自同一个国家,每个国家只会列出一次。UNION 只会选取不同的值。请使用 UNION ALL 来选取重复的值!


SQL UNION ALL 实例

下面的 SQL 语句使用 UNION ALL 从 "Websites" 和 "apps" 表中选取所有的country(也有重复的值):

实例

SELECT country FROM Websites
UNION ALL
SELECT country FROM apps
ORDER BY country;

执行以上 SQL 输出结果如下:


带有 WHERE 的 SQL UNION ALL

下面的 SQL 语句使用 UNION ALL 从 "Websites" 和 "apps" 表中选取所有的中国(CN)的数据(也有重复的值):

实例

SELECT country, name FROM Websites
WHERE country='CN'
UNION ALL
SELECT country, app_name FROM apps
WHERE country='CN'
ORDER BY country;

执行以上 SQL 输出结果如下:

MySQL(18)--- UNION 操作符相关推荐

  1. 《零基础》MySQL UNION 操作符(十七)

    描述 MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中.多个 SELECT 语句会删除重复的数据. 语法 MySQL UNION 操作符语法格式: SEL ...

  2. mysql联合union查询_Mysql联合查询UNION和UNION ALL的使用介绍

    数据库 Mysql联合查询UNION和UNION ALL的使用介绍 字号+ 作者:小虾米 2016-12-05 12:47 Mysql的联合查询命令UNION和UNION ALL,总结了使用语法和注意 ...

  3. SQL UNION 操作符

    SQL UNION 操作符合并两个或多个 SELECT 语句的结果. 请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每个 SELECT 语句 ...

  4. mysql: union / union all / 自定义函数用法详解

    mysql: union / union all http://www.cnblogs.com/wangyayun/p/6133540.html mysql:自定义函数用法详解 http://www. ...

  5. mysql中union 查询

    mysql中union 查询 UNION ALL只是简单的将两个结果合并后就返回.这样,如果返回的两个结果集中有重复的数据,那么返回的结果集就会包含重复的数据了. 从效率上说,UNION ALL 要比 ...

  6. mysql使用union顺序混乱

    使用mysql用union并子集中用order by排序顺序会混乱 1. (select id from a order by start_time asc) union all (select id ...

  7. [GBase 8s 教程]GBase 8s UNION 操作符

    GBase 8s UNION 操作符合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每个 SEL ...

  8. mySql中union all 及max,ifnull用法

    mySql中union all 及max,ifnull用法 selectifnull(max(d.orderNum),0) totalNum,ifnull(max(d.money),0) totalM ...

  9. mysql使用union all时字符集不一致

    mysql 使用union all时碰到的一个奇怪现象: 问题描述 写了一个稍微有一点复杂的sql:先根据where条件查询出结果集,然后union all结果集中的各个列的sum.简单来说,就是在结 ...

最新文章

  1. 实收资本、资本公积、盈余公积的含义和区别
  2. 珍惜那些爱你的人,不要令他们失望,加油吧,我们。
  3. andrew ng machine learning week4 神经网络
  4. 第七章 PX4-Mavlink解析
  5. 看完这些,孩子的学习效率提高10倍
  6. 数据科学与python——Pandas统计分析基础(数据堆叠+数据清洗)
  7. 【转】CT层厚、层间距、层间隔的概念是什么,MRI的层厚、层间距、曾间隔是什么
  8. mysql sql先后执行_MySQL中SQL语句执行顺序
  9. 【numpy求和】numpy.sum()求和
  10. 佳能各系列数码相机特点简述
  11. n倍角公式的行列式形式与证明
  12. docker下载和安装
  13. html5富文本编辑器菜鸟手册,富文本编辑器froalaEditor(全面)附教程
  14. 20135202闫佳歆-第四章家庭作业-4.47+4.48
  15. 全国计算机等级考点申请,全国计算机等级考试(NCRE)考点申请书某高校(367)
  16. ubuntu 16.04上radvd起不来
  17. 【2021 第五届“达观杯” 基于大规模预训练模型的风险事件标签识别】1 初赛Rank12的总结与分析
  18. Python数据分析三剑客学习笔记Day3——pandas包的使用:认识series类型,DataFrame类型,读取excel表格数据及数据操作
  19. 正弦定理和余弦定理_考查正余弦定理运用,我的班很多同学做不出第2题
  20. 【72】编辑距离问题

热门文章

  1. js实现excel块拖拉数据_小程序导出数据到excel表,借助云开发云函数实现excel数据的保存...
  2. js html转为实体,字符串js编码转换成实体html编码的方法(防范XSS攻击)
  3. STM32学习——高级定时器
  4. revit2018注册表删除_Revit软件的彻底卸载方法 注册表卸载
  5. 【LeetCode】剑指 Offer 51. 数组中的逆序对
  6. iOS内存管理的知识梳理
  7. java基础第五篇封装与面向对象
  8. 选择排序--Selection sort
  9. C++中的.和::和:和-的区别
  10. 4-1 :input表单选择器 jQuery第四章 很关键 好像 刚好可以解决 微信自动回复...