Code前端首页关于Code前端联系我们

MySQL UNION 运算符的语法示例 信息点

terry 2年前 (2023-09-26) 阅读数 43 #数据库

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];

参数

  • 表达式1,表达式2,...表达式_n:可搜索列
  • tables:要搜索的数据表。
  • WHERE条件:可选,搜索条件。
  • 分离:可选,从结果集中删除重复数据。 UNION 运算符默认已删除重复数据,因此 DISTINCT 修饰符不会影响结果。
  • ALL:可选,返回所有结果集,包括重复数据。

演示数据库

在本教程中,我们使用 RUNOOB 模型数据库。

从“网站”表中选择的以下数据:

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   |
+----+---------------+---------------------------+-------+---------+

“应用程序”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 示例

以下 SQLbsite 从“网站”表和“应用程序”表中选择 全部 不同国家(仅限不同值):

实例

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

运行上述SQL,输出如下:❀无法使用列出两个表国家中的所有内容。如果某些网站和应用程序来自同一国家/地区,则每个国家/地区将仅列出一次。 UNION 仅选择不同的值。使用 UNION ALL 选择重复值! † 执行上述SQL的结果如下:

MySQL UNION操作符的语法实例知识点

SQL UNION ALL with WHERE

以下SQL语句使用UNION ALL语句从站点“bCN站点”和“中选择all” apps"tables)数据(也有重复值):

示例

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

运行上面的SQL,结果如下:

MySQL UNION操作符的语法实例知识点

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门