Я думаю, что самый простой способ - это использовать MIN()
:
SELECT b.order_id
FROM batches b
GROUP BY b.order_id
HAVING MIN(b.cost) >= 100;
Если вы хотите получить информацию о заказе:
select o.*
from orders o
where not exists (select 1 from batches b where b.order_id = o.order_id and b.cost < 100);