OK... this is a start, it isn't quite right.
When you analyze these things.... you start by asking what the inner SELECT is going to return.
You say "SELECT productid from orderitem where unitprice > 100". This is going to return all rows
from the order item table with a price greater than 100. It will return too many rows... i.e. rows that don't apply.
What you have written will go through each row in product and ask "Is there any row in any product that has a price > 100". This second select will always be true, and so you will return every supplier. The assignment is to not return suppliers with no products that cost more than $100.
What you want for this inner SELECT is to only return rows that belong to a specific supplier. HINT: you want to add a constraint to the condition. Do you want to try it?