如何获得 Oracle 中 2 个不同模式中的 2 个表之间的差异?
how to get the difference between 2 tables in 2 different schema's in Oracle?
我正在使用 Oracle 11G。
我在名为“tickets1”的架构中有一个名为 Tickets 的 table
我在另一个名为 'tickets2'
的模式中有相同的 table 结构
我想知道
- 两个 table 中哪些数据相同?
- 哪些数据不同?
CREATE TABLE tickets(
ticket_number NUMBER NOT NULL,
first_name VARCHAR2(50) NOT NULL,
last_name VARCHAR2(50) NOT NULL,
PRIMARY KEY(ticket_number)
);
对于相同的数据,使用INTERSECT
SELECT * FROM TICKETS1.TICKETS
INTERSECT
SELECT * FROM TICKETS2.TICKETS
数据不同,使用MINUS
和UNION
如下
SELECT * FROM
(SELECT * FROM TICKETS1.TICKETS
MINUS
SELECT * FROM TICKETS2.TICKETS)
UNION
(SELECT * FROM TICKETS2.TICKETS
MINUS
SELECT * FROM TICKETS1.TICKETS)
我正在使用 Oracle 11G。
我在名为“tickets1”的架构中有一个名为 Tickets 的 table 我在另一个名为 'tickets2'
的模式中有相同的 table 结构我想知道
- 两个 table 中哪些数据相同?
- 哪些数据不同?
CREATE TABLE tickets( ticket_number NUMBER NOT NULL, first_name VARCHAR2(50) NOT NULL, last_name VARCHAR2(50) NOT NULL, PRIMARY KEY(ticket_number) );
对于相同的数据,使用INTERSECT
SELECT * FROM TICKETS1.TICKETS
INTERSECT
SELECT * FROM TICKETS2.TICKETS
数据不同,使用MINUS
和UNION
如下
SELECT * FROM
(SELECT * FROM TICKETS1.TICKETS
MINUS
SELECT * FROM TICKETS2.TICKETS)
UNION
(SELECT * FROM TICKETS2.TICKETS
MINUS
SELECT * FROM TICKETS1.TICKETS)