【发布时间】:2023-03-07 09:35:01
【问题描述】:
以下是我的表格,
员工(枚举,etitle,ename), pk:枚举
有(枚举,anum), pk:(枚举,anum), fk1:Has(enum)->Staff(enum), fk2:Has(anum)->面积(anum)
区域(anum,aname), pk:anum
问题:
专门研究每个医疗领域的员工(枚举、姓名、姓名)。
我已经尝试了以下,
我知道这个查询的关系代数表达式是
将(员工加入有)除以(项目面积超过 anum)
我的 SQL 查询如下:
select S.enum
from Staff S
where not exists
(select A.anum from Area A)
minus
(select H.anum
from Has H,Staff S1
where H.enum = S1.enum)
但没有返回任何行。我确保有一名工作人员专攻各个领域。
我认为应该做的事情:
每个工作人员的面积必须从所有面积中减去。如果存在具有所有医疗领域的工作人员,则减法将返回空集,并且将满足不存在。然后我们必须检索特定工作人员的 enum,ename,etitle。
注意:
这是我的作业。我很努力之后才发这个。
【问题讨论】:
标签: sql oracle10g relational-algebra