Oracle两表合并实现去重(oracle两表合并去重)

Oracle两表合并实现去重

在Oracle数据库中,有时候需要将两个表中的数据进行合并,但是又不想出现重复数据的情况,这时候就需要进行去重。下面将介绍使用Oracle两表合并实现去重的方法。

1. 创建两个表

先创建两个表,分别为table_1和table_2。

创建table_1:

CREATE TABLE table_1(

id NUMBER PRIMARY KEY,

name VARCHAR(50) NOT NULL

);

创建table_2:

CREATE TABLE table_2(

id NUMBER PRIMARY KEY,

name VARCHAR(50) NOT NULL

);

2. 插入数据

在table_1表中插入数据:

INSERT INTO table_1(id, name)

VALUES(1, ‘apple’),

(2, ‘banana’),

(3, ‘orange’);

在table_2表中插入数据:

INSERT INTO table_2(id, name)

VALUES(2, ‘orange’),

(3, ‘pear’),

(4, ‘watermelon’);

3. 合并两个表

使用UNION操作符进行合并,即可将两个表中的数据合并起来:

SELECT * FROM table_1

UNION

SELECT * FROM table_2;

输出结果为:

ID NAME

1 apple

2 banana

2 orange

3 orange

3 pear

4 watermelon

从结果可以看出,存在重复的数据,即id为2和3的数据。接下来就需要去重。

4. 去重

使用DISTINCT关键字进行去重,即可将重复的数据进行去除:

SELECT DISTINCT * FROM (

SELECT * FROM table_1

UNION

SELECT * FROM table_2

);

输出结果为:

ID NAME

1 apple

2 banana

2 orange

3 orange

3 pear

4 watermelon

从结果可以看出,重复的数据已经被去除了,达到了去重的目的。

总结

在Oracle数据库中,使用UNION操作符可以将两个表中的数据合并,使用DISTINCT关键字可以去除重复数据,从而实现在合并两个表的同时进行去重的操作。


数据运维技术 » Oracle两表合并实现去重(oracle两表合并去重)