Rewrite a correlated EXISTS as a join for a one-to-many relationship. Why can a naive INNER JOIN rewrite return wrong results that EXISTS does not?
-- EXISTS form
SELECT c.id FROM customers c
WHERE EXISTS (SELECT 1 FROM orders o WHERE o.customer_id = c.id);