@Abdullahのサブクエリをテストしたところ、実際に私が望んでいたものとは逆になりました。少しテストした後、私が探していたものを提供するネストされたクエリに行き着きました:
select distinct entity_id from construction
where entity_id not in (
select entity_id from construction c left outer join available a on a.id = c.component_id
where a.id is null
);