使用PL / SQL Developer比较两个SELECT语句

3 sql oracle plsqldeveloper

假设我SELECT在同一张表上有两个查询,我需要逐列比较它们。

查询1:

select * from mytable t1 where  t1.code = '100'
Run Code Online (Sandbox Code Playgroud)

返回:

id           name
1            A
2            B
Run Code Online (Sandbox Code Playgroud)

查询2:

select * from mytable t2 where  t2.code = '999'
Run Code Online (Sandbox Code Playgroud)

返回:

id           name
1            A
2            C
Run Code Online (Sandbox Code Playgroud)

就我而言,两个查询都返回相同数量的行。

所需结果

id           name_t1     name_t2
2            B           C
Run Code Online (Sandbox Code Playgroud)

如何使用PL / SQL开发人员发现它们之间的数据差异(最好使用工具来避免查询)?

我的PL / SQL Developer版本8.0.3.1510

小智 5

您可以使用 MINUS

select * from mytable t1 where  t1.code = '100'

MINUS 
select * from mytable t2 where  t2.code = '999';
Run Code Online (Sandbox Code Playgroud)

MINUS通过从结果中删除仅在第二个查询中找到的所有行,从而为您提供第一个查询而不是在第二个查询中找到的行