sql

sql的intersect 如何处理重复行

小樊
85
2024-09-27 21:10:48
栏目: 云计算

在 SQL 中,使用 INTERSECT 操作符返回两个查询共有的结果集。当结果集中存在重复行时,INTERSECT 会自动去除这些重复行。换句话说,INTERSECT 操作符返回的结果集是唯一的。

以下是一个简单的示例,说明如何使用 INTERSECT 处理重复行:

假设我们有两个表,table1table2,它们具有相同的结构,如下所示:

table1:
+----+-------+
| id | name  |
+----+-------+
|  1 | Alice |
|  2 | Bob   |
|  3 | Carol |
+----+-------+

table2:
+----+-------+
| id | name  |
+----+-------+
|  2 | Bob   |
|  3 | Carol |
|  4 | Dave  |
+----+-------+

我们想要找到同时存在于 table1table2 中的名字。可以使用以下查询:

SELECT name FROM table1
INTERSECT
SELECT name FROM table2;

查询结果如下:

+-------+
| name  |
+-------+
| Alice |
| Bob   |
| Carol |
+-------+

可以看到,结果集中没有重复行。INTERSECT 操作符自动去除了重复的名字。

0
看了该问题的人还看了