Maison >base de données >tutoriel mysql >Comment rechercher et supprimer des lignes dans le tableau 1 sans les entrées correspondantes dans le tableau 2 ?
Récupérer les lignes de la base de données qui n'ont aucune correspondance dans une autre table : explication détaillée
Dans le monde de la gestion de bases de données, il n'est pas rare que l'intégrité des données soit compromise en raison de contraintes de clé étrangère manquantes. Pour corriger de tels problèmes, les lignes qui ne correspondent pas dans la table référencée doivent être identifiées et supprimées. Cet article explique comment écrire une requête qui accomplit cette tâche, en fournissant un exemple de fonctionnalité et une explication détaillée de ses mécanismes sous-jacents.
Supposons que nous ayons deux tables Table1 et Table2, où Table1 contient des valeurs utilisées comme références de clé étrangère à Table2 (mais sans contraintes de clé étrangère). Notre objectif est de construire une requête qui renvoie toutes les lignes du tableau 1 qui n'ont pas de correspondance dans le tableau 2 afin qu'elles puissent ensuite être supprimées.
Construction et interprétation des requêtes
Les requêtes suivantes répondent à nos exigences :
<code class="language-sql">SELECT t1.ID FROM Table1 t1 LEFT JOIN Table2 t2 ON t1.ID = t2.ID WHERE t2.ID IS NULL;</code>
Décomposition des requêtes :
Avec cette requête, nous pouvons facilement identifier et supprimer les lignes du tableau 1 qui n'ont aucune entrée correspondante dans le tableau 2, préservant ainsi l'intégrité des données de la base de données.
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!