SQL
Find Customers Who Have Placed No Orders
Identify and list customers who have registered but have not yet placed any orders, leveraging the EXISTS operator for efficient conditional filtering.
SELECT
c.customer_id,
c.customer_name,
c.email
FROM customers c
WHERE NOT EXISTS (
SELECT 1
FROM orders o
WHERE o.customer_id = c.customer_id
);
How it works: This snippet identifies customers who are registered in the `customers` table but have not yet placed any orders in the `orders` table. It achieves this using a `NOT EXISTS` subquery. For each customer, the subquery checks if there's any corresponding order. If the subquery finds no matching order (i.e., `NOT EXISTS` is true), that customer's details are included in the final result. This method is often more performant than a `LEFT JOIN ... WHERE order_id IS NULL` for large datasets as it can stop scanning as soon as a match is found.