Mysql
 sql >> Base de données >  >> RDS >> Mysql

Instruction SQL pour obtenir tous les clients sans commandes

Vous pouvez utiliser LEFT JOIN et IS NULL :

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

Le résultat d'une jointure gauche contient toujours tous les enregistrements de la table "gauche" (Personnes), même si la condition de jointure ne trouve aucun enregistrement correspondant dans la table "droite" (Commandes). Lorsqu'il n'y a pas de correspondance, les colonnes de la "bonne" table seront NULL dans le jeu de résultats.