比较两个表-Oracle SQL developer
我试图比较oracle sql developer中的两个表。 需要从两个具有不同C列值但具有相同a和B列值的表中获取行列表 谢谢,比较两个表-Oracle SQL developer,sql,oracle,datatables,compare,Sql,Oracle,Datatables,Compare,我试图比较oracle sql developer中的两个表。 需要从两个具有不同C列值但具有相同a和B列值的表中获取行列表 谢谢, Deepa在我解释问题时,您可以使用join select t1.*, t2.* from table1 t1 join table2 t2 on t1.a = t2. a and t1.b = t2.b where t1.c <> t2.c; 选择t1.*,t2* 来自表1的t1连接 表2 t2 在t1上,a=t2。a和t1.b
Deepa在我解释问题时,您可以使用
join
select t1.*, t2.*
from table1 t1 join
table2 t2
on t1.a = t2. a and t1.b = t2.b
where t1.c <> t2.c;
选择t1.*,t2*
来自表1的t1连接
表2 t2
在t1上,a=t2。a和t1.b=t2.b
式中t1.c t2.c;
这将返回两个表中具有匹配的
a
和b
的所有行对,但c
值不相同。如果c列是某种数字,则应使用以下方法,并且不会出现重复的情况:
select t1.*,
t2.*
from table1 t1,
table2 t2
where t1.a = t2.a
and t1.b = t2.b
and t1.c < t2.c;
选择t1.*,
t2*
从表1 t1中,
表2 t2
其中t1.a=t2.a
t1.b=t2.b
t1.c
使用以下潜在对象的潜在答案
表ddl
create table a_Table(
colum1 varchar2(20),
colum2 varchar2(20),
colum3 varchar2(20)
);
create table b_Table(
colum1 varchar2(20),
colum2 varchar2(20),
colum3 varchar2(20)
);
--POTENTIAL INSERT --
INSERT INTO B_TABLE (COLUM1, COLUM2, COLUM3) VALUES ('A', 'A', 'B');
INSERT INTO B_TABLE (COLUM1, COLUM2, COLUM3) VALUES ('A', 'A', 'D');
INSERT INTO A_TABLE (COLUM1, COLUM2, COLUM3) VALUES ('A', 'A', 'C');
INSERT INTO A_TABLE (COLUM1, COLUM2, COLUM3) VALUES ('A', 'A', 'D');
--QUERY TO FIND THE DIFF --
SELECT
a.*,
b.*
FROM
a_table a
JOIN b_table b
ON a.colum1 = b.colum1
AND a.colum2 = b.colum2
WHERE a.colum3 != b.colum3;
展示你的努力,这样放屁的ddl就好了。甚至可能会为thos表插入一些潜在的内容。示例数据和期望的结果会使问题更清楚。今天的提示:始终使用现代、明确的
JOIN
语法。更容易写(没有错误),更容易阅读和维护,如果需要,更容易转换为外部连接!今天的提示:始终使用现代、明确的JOIN
语法。更容易写(没有错误),更容易阅读和维护,如果需要,更容易转换为外部连接!