Maison >base de données >tutoriel mysql >Comment puis-je trouver des lignes incompatibles entre deux tables sans contraintes de clé étrangère ?
Identifier les lignes qui ne correspondent pas dans les tableaux
Dans la gestion de bases de données, il est crucial de garantir l'intégrité des données grâce à des contraintes de clés étrangères. Cependant, sans ces contraintes, des incohérences dans les données peuvent survenir. Cette requête est conçue pour identifier les lignes d'une table pour lesquelles il manque des entrées correspondantes dans une autre table, ce qui constitue une étape de base du nettoyage des données.
La solution réside dans l'utilisation de l'opération LEFT JOIN . Dans cette requête :
<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>
1. REJOINDRE À GAUCHE :
LEFT JOIN rejoint les lignes du tableau 1 avec les lignes correspondantes du tableau 2. Cependant, cela garantit que toutes les lignes du tableau 1 sont incluses dans le résultat, même si elles n'ont aucune ligne correspondante dans le tableau 2.
2. Identifier les inadéquations :
La clause WHERE utilise la condition "t2.ID IS NULL". Cette condition est évaluée à « vrai » pour les lignes sans correspondance dans le tableau 1, où la colonne « t2.ID » correspondante dans la ligne de jointure est nulle.
Ainsi, cette requête identifie efficacement les lignes du tableau 1 pour lesquelles il manque des entrées correspondantes dans le tableau 2, fournissant ainsi des informations importantes sur la gestion de l'intégrité des données et l'application des contraintes de clé étrangère.
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!