sql的intersect 如何处理重复行

avatar
作者
猴君
阅读量:0

在 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 操作符自动去除了重复的名字。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!