ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

SQL UNION 运算符

2021-06-28 22:03:22  阅读:196  来源: 互联网

标签:name UNION country 运算符 column SQL SELECT


1. SQL UNION运算符

UNION运算符用于组合两个或更多SELECT语句的结果集,而不返回任何重复的行。

  • UNION中的每个SELECT语句必须具有相同的列数
  • 这些列必须有相似的数据类型
  • 每个SELECT语句中的列顺序必须相同
  • 每个SELECT语句必须有相同数目的列表达式
  • 但每个SELECT语句长度不必相同

 

 

2. SQL UNION语法1

SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;

注释:默认情况下,UNION运算符选择一个不同的值。如果允许重复值,使用UNION ALL。

 

 

3. SQL UNION语法2

SELECT column_name(s) FROM table1
[WHERE condition]

UNION
SELECT column_name(s) FROM table2
[WHERE condition]

 注释:UNION 结果集中的列名总是等于 UNION 中第一个SELECT 语句中的列名

 

 

4. SQL UNION ALL语法1

UNION ALL运算符用于组合两个SELECT语句(包括重复行)的结果。

适用于UNION子句的规则也适用于UNION ALL操作符。

SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;

 

 

5. SQL UNION ALL语法2

SELECT column_name(s) FROM table1
[WHERE condition]
UNION ALL
SELECT column_name(s) FROM table2
[WHERE condition]

 

 

6. 演示数据库

 

SQL UNION 实例

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

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

注释:UNION 不能用于列出两个表中所有的country。只会选取不同的值。

 

SQL UNION ALL 实例

下面的SQL语句从“Websites”和“apps”表中选取所有的country(也有重复的值)。

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

 

带有 WHERE 的SQL UNION ALL

下面的 SQL 语句从"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; 

 

标签:name,UNION,country,运算符,column,SQL,SELECT
来源: https://www.cnblogs.com/keye/p/14946504.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有