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];
参数
- 表达式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的结果如下:
SQL UNION ALL with WHERE
以下SQL语句使用UNION ALL语句从站点“bCN站点”和“中选择all” apps"tables)数据(也有重复值): 运行上面的SQL,结果如下:示例
SELECT country, name FROM Websites
WHERE country='CN'
UNION ALL
SELECT country, app_name FROM apps
WHERE country='CN'
ORDER BY country;
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。