当前位置:首页 > 行业动态 > 正文

oracle sql 交集

在Oracle SQL中,要找到两个表的交集,可以使用 INTERSECT关键字。假设有两个表 table1和 table2,可以使用以下查询:,,“ sql,SELECT * FROM table1,INTERSECT,SELECT * FROM table2;,“

在 Oracle 中实现交集去重的简便方法,可以使用以下步骤:

oracle sql 交集  第1张

1、创建测试表

创建两个测试表,用于存储需要求交集的数据。

CREATE TABLE table1 (id NUMBER, name VARCHAR2(50));
CREATE TABLE table2 (id NUMBER, name VARCHAR2(50));

2、插入测试数据

向两个表中插入一些测试数据。

INSERT INTO table1 (id, name) VALUES (1, '张三');
INSERT INTO table1 (id, name) VALUES (2, '李四');
INSERT INTO table1 (id, name) VALUES (3, '王五');
INSERT INTO table2 (id, name) VALUES (1, '张三');
INSERT INTO table2 (id, name) VALUES (2, '李四');
INSERT INTO table2 (id, name) VALUES (4, '赵六');

3、使用 INNER JOIN 求交集并去重

使用 INNER JOIN 语句,根据 id 和 name 字段求两个表的交集,并去除重复数据。

SELECT DISTINCT t1.id, t1.name
FROM table1 t1
INNER JOIN table2 t2 ON t1.id = t2.id AND t1.name = t2.name;

执行上述 SQL 语句后,将得到如下结果:

ID NAME
1 张三
2 李四

这样就实现了在 Oracle 中求交集并去重的简便方法。

0