MySQL – DELETE avec jointure
Dans le tutoriel précédent, nous avons vu comment supprimer des lignes d’une tables en utilisant l’instruction DELETE.
Dans ce tutoriel nous allons découvrir comment supprimer les données de plusieurs tables à l’aide de la clause JOIN avec l’instruction DELETE.
Exemple: DELETE avec une jointure
Nous allons utiliser une simple base de données qui est constitué de deux tables:
- La table des clients stocke les données sur les clients avec l’identifiant, le nom, l’age et l’adresse du client.
- La table des commandes stocke les commandes effectués par des clients.
Table « Clients »
Table « Commandes »
Le lien entre la table « Clients » et la table « Commandes » est le champ « ClientID ».
La requête ci-dessous supprime la ligne avec ClientID = 5 dans la table « Clients » ainsi que la ligne avec ClientID = 5 dans la table « Commandes » à l’aide de l’instruction DELETE … INNER JOIN:
DELETE Clients, Commandes FROM Clients INNER JOIN Commandes ON Commandes.ClientID = Clients.ClientID WHERE Clients.ClientID = 5;
La requête ci-dessus a renvoyé le message suivant:
Vous aidez énormément le grand public !