SQL Dojo Beta
Tecnica

Anti-join

Le righe di una tabella che non hanno corrispondenza in un'altra: i clienti che non hanno mai ordinato.
SELECT c.*
FROM customers c
WHERE NOT EXISTS (SELECT 1 FROM orders o WHERE o.customer_id = c.customer_id);

Stesso risultato con LEFT JOIN … WHERE o.customer_id IS NULL. Evita NOT IN (subquery): basta un NULL nella subquery e non restituisce nulla.

SELECT c.customer_id, c.first_name, c.last_name
FROM customers c
WHERE NOT EXISTS (SELECT 1 FROM orders o WHERE o.customer_id = c.customer_id)
ORDER BY c.customer_id
LIMIT 5;
customer_idfirst_namelast_name
4ElsaRichard
5LouisMartinez
7TomDupont
9JadeMeier
12SachaDumont
Provalo in Randori