Вы можете сделать join
с not exists
:
select distinct p.maker
from product p inner join
pc
on pc.model = p.model
where not exists (select 1 from laptop l where l.model = p.model);
Тем не менее, join
создаст дубликаты строк, если в таблице pc
есть дубликаты строк. Таким образом, вы можете использовать exists
вместо:
select p.maker
from product p
where exists (select 1 from pc where pc.model = p.model) and
not exists (select 1 from laptop l where l.model = p.model);