从另一个表中选择一个表的否定以及oracle的主表sql查询中的数据
Posted
技术标签:
【中文标题】从另一个表中选择一个表的否定以及oracle的主表sql查询中的数据【英文标题】:Select Negation of one table from another along with data in master table sql query for oracle 【发布时间】:2018-05-15 12:25:57 【问题描述】:我遇到了一个问题。我的 oracle 数据库中有 3 个表。 第一个表包含所有注册员工:ID、FNAME、LNAME 第二个表包含所有员工(已注册 + 未注册):- ID、FNAME、LNAME 第三个表是一个主表,其中包含员工的所有详细信息以及地址。 ID 在所有 3 个表中都是通用的。
这里我的要求是编写一个查询,它将显示所有未注册的员工及其地址详细信息。
在所有必须忽略的表中,一些 ID 也为空。
表 1 - 注册用户 表 2 - 已注册+未注册 表 3 - 包含附加信息的主表
要求:- 为未注册用户选择 ID、姓名、地址。
查询将比解释更有帮助。
谢谢,
【问题讨论】:
提示:左连接或不存在。 嗨,Raymond,请您检查一下需求,如果可能的话,请让我知道这个问题。谢谢。 【参考方案1】:我认为 not exists
或 not in
可以满足您的需求:
select m.*
from masters m
where not exists (select 1
from registered r
where r.id = m.id
);
【讨论】:
好的,我的要求是选择所有未注册的员工。 AllEmployeeTable(Registered+Unregisterd) 减去 RegisterdUser。这会给我所有未注册的用户。现在对于所有未注册的用户,我必须从第三张表中选择地址。以上是关于从另一个表中选择一个表的否定以及oracle的主表sql查询中的数据的主要内容,如果未能解决你的问题,请参考以下文章