本文概述
在SQL Server中, INTERSECT运算符用于获取两个SELECT语句或数据集之间的公用记录。如果一个查询中存在一条记录, 而另一个查询中不存在, 则从INTERSECT结果中将其省略。
句法:
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions]
INTERSECT
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions];
参数说明
expression1, expression2, … expression_n:表达式指定要在两个SELECT语句之间进行比较的列或计算。每个SELECT语句中不必都具有相同的字段, 但是两个表中的对应列必须是相似的数据类型。
表:它指定要从中检索记录的表。在FROM子句中必须至少列出一个表。
条件:这是可选条件。它指定了选择记录必须满足的条件。
图像表示:
注意:重叠的蓝色字段指定相交数据。
INTERSECT操作的强制条件
- 两个SELECT语句中的表达式数量必须相同。
- 每个SELECT语句中的对应列必须具有相似的数据类型。
- INTERSECT运算符仅获取SELECT语句的公共记录。
带有单个表达式的INTERSECT运算符
例:
SELECT name
FROM [srcmini].[dbo].[Employees]
INTERSECT
SELECT name
FROM [srcmini].[dbo].[Employee2];
输出
带有单个表达式的INTERSECT运算符
SELECT id, name, salary
FROM [srcmini].[dbo].[Employees]
WHERE salary >= 15000
INTERSECT
SELECT id, name, salary
FROM [srcmini].[dbo].[Employee2]
输出
它显示为空白, 因为根据查询, 它们之间没有共同之处。
评论前必须登录!
注册