1. Which predicate most closely mirrors a semi-join?
A semi-join answers whether a matching row exists on the right, but it does not return right-hand columns and does not multiply left rows. Implement with EXISTS or IN when you only need to filter the left side by presence on the right.
SELECT c.* FROM customers c WHERE EXISTS ( SELECT 1 FROM orders o WHERE o.customer_id = c.id );