Mysql
 sql >> Database >  >> RDS >> Mysql

Istruzione SQL per ottenere tutti i clienti senza ordini

Potresti voler usare LEFT JOIN e IS NULL :

SELECT     Persons.LastName, Persons.FirstName
FROM       Persons
LEFT JOIN  Orders ON Persons.id = Orders.Person_id
WHERE      Orders.Person_id IS NULL;

Il risultato di un join sinistro contiene sempre tutti i record della tabella "sinistra" (Persone), anche se la condizione di join non trova alcun record corrispondente nella tabella "destra" (Ordini). Quando non c'è corrispondenza, le colonne della tabella "destra" saranno NULL nel set di risultati.