在 SQL 中,使用 INTERSECT 操作符返回两个查询共有的结果集。当结果集中存在重复行时,INTERSECT 会自动去除这些重复行。换句话说,INTERSECT 操作符返回的结果集是唯一的。
以下是一个简单的示例,说明如何使用 INTERSECT 处理重复行:
假设我们有两个表,table1 和 table2,它们具有相同的结构,如下所示:
table1:+----+-------+| id | name |+----+-------+| 1 | Alice || 2 | Bob || 3 | Carol |+----+-------+table2:+----+-------+| id | name |+----+-------+| 2 | Bob || 3 | Carol || 4 | Dave |+----+-------+我们想要找到同时存在于 table1 和 table2 中的名字。可以使用以下查询:
SELECT name FROM table1INTERSECTSELECT name FROM table2;查询结果如下:
+-------+| name |+-------+| Alice || Bob || Carol |+-------+可以看到,结果集中没有重复行。INTERSECT 操作符自动去除了重复的名字。


