SQL Server INTERSECT 运算符

17 Mar 2025 | 阅读 2 分钟

在 SQL Server 中,INTERSECT 运算符用于获取两个 SELECT 语句或数据集之间的公共记录。如果一条记录在一个查询中存在而在另一个查询中不存在,则它将从 INTERSECT 结果中省略。

语法

参数解释

expression1, expression2, ... expression_n:表达式指定您想要在两个 SELECT 语句之间比较的列或计算。在每个 SELECT 语句中不必具有相同的字段,但对应的列必须在两个表中具有相似的数据类型。

tables:它指定您要从中检索记录的表。FROM 子句中必须至少列出一个表。

WHERE 条件:这是一个可选条件。它指定必须满足才能选择记录的条件。

图像表示

SQL Intersect operator 1

注意:重叠的蓝色字段指定了交集数据。


INTERSECT 操作的强制性条件

  • 两个 SELECT 语句中的表达式数量必须相同。
  • 每个 SELECT 语句中的对应列必须具有相似的数据类型。
  • INTERSECT 运算符仅获取 SELECT 语句的公共记录。

INTERSECT 运算符,带有单个表达式

示例

输出

SQL Intersect operator 2

INTERSECT 运算符,带有单个表达式

输出

SQL Intersect operator 3

根据查询,它显示为空白,因为它们之间没有任何共同之处。


下一个主题IN ( ) 运算符