我有一个作业问题,要求我查找“哪些员工未分配给任何HP计算机?”
我尝试了以下方法:
select empname from Employee where empnum in
(select empnum from PC where comp in
(select comp from computer where MFRNAME NOT LIKE 'HP'))
但是。我仍然从拥有两台计算机的员工Douglas Dally那里获取数据。其中一个是HP,另一个不是HP。但是我想只能找到根本不使用任何HP计算机的员工。我该如何筛选出这个结果?
我在下面的数据上附加了一个链接。
答案 0 :(得分:0)
如果您想让同样不使用HP笔记本电脑的员工也可以使用not exists
。
select empname
from Employee em
where not exists (
select 1
from PC p
join comp c on c.comp = p.comp
where em.empnum = p.empnum
and c.MFRNAME like '%HP%'
)
这应该为您提供不使用像HP这样的计算机的员工,如果HP是绝对字符串,那么您可以提及c.MFRNAME = 'HP'