Бяхте близо
SELECT order_id
FROM orders
WHERE product_id in (222,555)
GROUP BY order_id
HAVING COUNT(DISTINCT product_id) = 2
По отношение на вашия въпрос „от любопитство“ в релационната алгебра това се постига просто с division . AFAIK никоя RDBMS не е внедрила разширение, което прави това толкова просто в SQL.