从另一个表中选择否定一个表以及oracle的主表sql查询中的数据

时间:2017-12-01 11:45:06

标签: sql oracle11g

我遇到了问题。我的oracle数据库中有3个表。 第一个表包含所有已注册的员工:ID,FNAME,LNAME 第二个表包含所有员工(已注册+未注册): - ID,FNAME,LNAME 第三个表是一个主表,其中包含员工的所有详细信息以及地址。 ID在所有3个表中都很常见。

这里我的要求是编写一个查询,显示所有未注册的员工,并附上地址详细信息。

在所有必须忽略的表格中,某些ID也为空。

表1 - 注册用户 表2 - 已注册+未注册 表3 - 包含附加信息的主表

要求: - 为未注册用户选择ID,名称,地址。

查询将更有帮助,而不是解释。

谢谢,

1 个答案:

答案 0 :(得分:0)

我认为not existsnot in符合您的要求:

select m.*
from masters m
where not exists (select 1
                  from registered r
                  where r.id = m.id
                 );