使用Oracle实现两张表数据的合并(oracle两张表合并)

使用Oracle实现两张表数据的合并

在实际工作中,经常会遇到需要将两张表的数据进行合并的情况,而Oracle数据库提供了多种方法来实现数据的合并。下面将介绍两种方法来将两张表的数据合并。

一、使用Union操作符合并表数据

Union操作符可以将两个查询的结果集合并在一起,Union操作符返回结果集中不会出现重复的记录,结果集会按照列的顺序自动排序。

语法格式如下:

SELECT column1, column2, column3, ...
FROM table1
UNION
SELECT column1, column2, column3, ...
FROM table2;

示例代码:

SELECT * FROM table1
UNION
SELECT * FROM table2;

二、使用Merge语句合并表数据

Merge语句是Oracle提供的关键字,可以将两张表的数据进行合并。Merge语句的使用前提是要处理的两张表必须有相同的列数和列名。Merge语句会根据两个表的列值进行匹配,如果匹配成功,则更新目标表的记录,否则插入新记录。

语法格式如下:

MERGE INTO target_table tt
USING (SELECT * FROM source_table) st
ON (tt.key = st.key)
WHEN MATCHED THEN UPDATE SET tt.column1 = st.column1, tt.column2 = st.column2
WHEN NOT MATCHED THEN INSERT (tt.key, tt.column1, tt.column2) VALUES (st.key, st.column1, st.column2);

示例代码:

MERGE INTO target_table tt
USING (SELECT * FROM source_table) st
ON (tt.ID = st.ID)
WHEN MATCHED THEN UPDATE SET tt.Name = st.Name, tt.Age = st.Age
WHEN NOT MATCHED THEN INSERT (tt.ID, tt.Name, tt.Age) VALUES (st.ID, st.Name, st.Age);

以上就是使用Oracle实现两张表数据合并的两种方法,通过这两种方法,可以快速、方便地将两张表的数据合并到一起。


数据运维技术 » 使用Oracle实现两张表数据的合并(oracle两张表合并)