Maison > base de données > tutoriel mysql > Comment supprimer des lignes d'une table en fonction des ID correspondants à l'aide de SQL JOIN ?

Comment supprimer des lignes d'une table en fonction des ID correspondants à l'aide de SQL JOIN ?

Barbara Streisand
Libérer: 2025-01-05 13:33:40
original
907 Les gens l'ont consulté

How to Delete Rows from a Table Based on Matching IDs Using SQL JOINs?

Supprimer des lignes dans une table en fonction des ID correspondants à l'aide de JOIN

Les opérations de suppression dans SQL peuvent être utilisées pour supprimer des lignes spécifiques d'une table. Dans un scénario dans lequel vous souhaitez supprimer des lignes d'une table en fonction des ID correspondants dans une autre table, il est possible d'utiliser une opération JOIN pour effectuer cette tâche.

Approche basée sur JOIN

La requête suivante utilise une opération JOIN pour supprimer les lignes de la table1 qui ont des ID correspondants dans table2 :

DELETE t1 
FROM Table1 t1
JOIN Table2 t2 ON t1.ID = t2.ID;
Copier après la connexion

Explication :

  • L'instruction DELETE précise que les lignes seront supprimées de la table nommée 't1'.
  • La clause JOIN lie la table1 ('t1') à la table2 ('t2') en fonction de l'égalité de leur 'ID' colonnes.
  • Les lignes de la table1 qui ont des ID correspondants dans la table2 seront supprimées.

Approche alternative :

Alternativement, la même opération peut être réalisé en utilisant la requête suivante :

DELETE FROM table1
WHERE ID IN (SELECT ID FROM table2);
Copier après la connexion

Cette méthode utilise une sous-requête pour sélectionner les identifiants à partir de la table2, puis utilise l'opérateur IN pour faire correspondre les ID de la table1. Cependant, l'approche basée sur JOIN est généralement considérée comme plus efficace et plus facile à lire.

Utilisation d'alias

Il est recommandé d'utiliser des alias de table (tels que « t1 » et 't2' dans la requête JOIN) pour éviter toute confusion et empêcher la suppression accidentelle de toutes les lignes de la table1 en raison d'un caractère incomplet mise en évidence.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal