为了配合测试,特地建了两个表,并且添加了一些测试数据,其中重复记录为东吴的人物。
表:Person_1魏国人物
表:Person_2蜀国人物
A、Union形成并集
Union可以对两个或多个结果集进行连接,形成“并集”。子结果集所有的记录组合在一起形成新的结果集。
1、限定条件
要是用Union来连接结果集,有4个限定条件。
(1)、子结果集要具有相同的结构。
(2)、字结果集的列数必须相同。
(3)、子结果集对应的数据类型必须可以兼容。
(4)、每个子结果集不能包含order by和compute子句。
2、语法形式
select_statement union [all] select_statement
all代表最终的结果集中将包含所有的行,而不能删除重复行。
示例:
SELECT Name FROM Person_1 UNION SELECT Name FROM Person_2
生成的结果为:
注意到重复记录,孙权与周瑜仅仅显示了一个。下面来将UNION替换成UNION ALL看看是什么结果:
SELECT Name FROM Person_1 UNION ALL SELECT Name FROM Person_2
注意到重复记录,孙权与周瑜出现了两次,这就是UNION ALL 与 UNION的不同之处。
B、Except形成差集
Except可以对两个或多个结果集进行连接,形成“差集”。返回左边结果集合中已经有的记录,而右边结果集中没有的记录。
限定条件:
1、子结果集要具有相同的结构。
2、子结果集的列数必须相同。
3、子结果集对应的数据类型必须可以兼容。
4、每个子结果集不能包含order by 和 compute子句。
语法形式:
select_statement except select_statement
自动删除重复行。
示例:
SELECT Name FROM Person_1 EXCEPT SELECT Name FROM Person_2
结果:
留意到表Person_2有的,孙权周瑜已被去除。
C、InterSect形成交集
InterSect可以对两个或多个结果集进行连接,形成“交集”。返回左边结果集和右边结果集中都有的记录。
1、限定条件
要是用Except来连接结果集,有4个限定条件。
(1)、子结果集要具有相同的结构。
(2)、子结果集的列数必须相同。
(3)、子结果集对应的数据类型必须可以兼容。
(4)、每个子结果集不能包含order by或compute子句。
2、语法形式
select_statement intersect select_statement
示例:
SELECT Name FROM Person_1 INTERSECT SELECT Name FROM Person_2
返回的结果如下:
留意到只取两张表都有的记录(周瑜,孙权),这就是所谓的交集。
D、结果集的排序
SELECT Name FROM Person_1 INTERSECT SELECT Name FROM Person_2 ORDER BY Name DESC --此处的字段名相同了,如果不同,请切记排序列名,只能够是第一个表的列名
这里只有两点要注意
1.ORDER BY是对整个运算后的结果排序,并不是对单个数据集。
2.ORDER BY后面排序的字段名称是第一个数据集的字段名或者别名。
转自:http://www.cnblogs.com/kissdodog/archive/2013/06/24/3152743.html
相关推荐
当我们处理多个DataTable时,可能需要比较它们之间的数据,找出交集、并集或差集。这在数据分析、数据清洗或者数据库同步等场景中非常常见。本教程将通过一个完整的源码示例,帮助初学者理解如何在C#中快速地完成这...
在这个示例中,我们将深入探讨如何使用LINQ操作数组,主要包括交集、并集、差集、最值以及去重复等操作。 首先,我们来看交集(Intersect)操作。在给定的代码中,`fuck`变量存储了数组`a`和`b`的交集。`Intersect`...
7. **集合操作**:UNION、UNION ALL、INTERSECT和EXCEPT用于组合多个查询的结果,分别表示并集、并集(包含重复行)、交集和差集。 8. **函数和表达式**:T-SQL提供了大量内置函数,如字符串函数、日期/时间函数、...
2. **高级查询**:可能详细讲解了联接(JOIN)操作,如内连接、外连接和交叉连接,以及子查询和集合操作,如并集(UNION)、交集(INTERSECT)和差集(EXCEPT)。 3. **流程控制**:介绍IF-ELSE、WHILE、BEGIN-END...
总结来说,SQL Server的交集、差集和并集运算提供了灵活的数据处理方式,使我们能够从多个数据源中精确地获取所需信息。熟练掌握这些运算,对于优化查询性能和提升数据分析能力至关重要。在实际工作中,根据需求选择...
- **并集操作**:`UNION` 可以将两个或多个查询结果合并为一个结果集,去除重复记录;`UNION ALL`则保留所有记录,包括重复的。 - **差集操作**:`EXCEPT` 返回第一个查询结果中存在但第二个查询结果中不存在的行;`...
### SQL操作全集详解 #### 一、数据库操作(DDL:Data Definition Language) **1. 创建数据库** - **语法**: `CREATE DATABASE database-name;` - **说明**: 使用此命令可以创建一个新的数据库。 - **示例**: ...
3. **集合操作**:可能涉及到并集(UNION)、交集(INTERSECT)和差集(EXCEPT)等集合运算符的使用,以及如何通过这些运算符来合并或比较多个查询结果。 4. **T-SQL流程控制**:讲述如何使用IF...ELSE、WHILE、...
7. **集合运算**:SQL支持并集(UNION)、交集(INTERSECT)和差集(EXCEPT)等集合运算,用于组合不同查询的结果。 这些知识点构成了SQL语言的基础,是理解和操作数据库系统的关键。掌握这些概念和操作,能够高效...
集合操作包括并集(UNION)、交集(INTERSECT)和差集(MINUS)。 5. **连接查询**:用于合并多个表的数据,依据表之间的关联关系,如内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)和全连接...
主要介绍了SQL语句的并集UNION,交集JOIN(内连接,外连接),交叉连接(CROSS JOIN笛卡尔积),差集(NOT IN) ,需要的朋友可以参考下
合并多个查询结果,分别实现结果集的并集、交集和差集。 12. 函数与表达式: 包括字符串函数、日期时间函数、数学函数、系统信息函数等,用于处理和转换数据。 通过阅读《SQL语法大全中文版》,读者将能够掌握...
此外,新加入了集合操作,如并集、差集和交集,便于对多个结果集进行操作。 3. **PL/SQL增强**:PL/SQL支持了匿名块、存储过程、函数、触发器等,11g版本中增加了异常处理的灵活性,以及对游标的改进,使得处理大量...
集合操作包括并集(UNION)、交集(INTERSECT)和差集(EXCEPT),以及使用IN和NOT IN子句进行成员比较。 “查询优化”是数据库性能的关键。SQL Server的查询优化器会分析查询的不同执行路径,选择最有效的一种。...
此外,Oracle还支持集合操作,如并集(UNION),交集(INTERSECT)和差集(MINUS): ```sql -- 并集:返回两个查询结果的唯一行 SELECT column FROM table1 UNION SELECT column FROM table2; -- 交集:返回两个...
集合运算是数据库查询中的一种重要操作,它允许将两个或多个SQL查询的结果集进行并集、交集和差集的运算。在数据库的查询语言中,如SQL(Structured Query Language),集合运算符用于对查询结果集进行组合或比较,...
第二章“集合论和谓词逻辑”是理解SQL查询的基础,它探讨了集合的概念,如交集、并集、差集和笛卡尔积,这些都是SQL查询中的基本运算。同时,谓词逻辑是表达查询条件的关键,书中会介绍如何使用WHERE子句以及比较...
再者,书中会涉及集合操作,如并集(UNION)、交集(INTERSECT)和差集(EXCEPT),以及集合函数,如COUNT、SUM、AVG、MIN和MAX,这些函数用于统计和计算数据。 除了基本查询,书中还将介绍如何使用T-SQL进行数据...