Comparer des tables SQL pour trouver des différences de données
Assurer la cohérence des données sur deux tables SQL Server nécessite d'identifier les lignes uniques à chacune. Cela met en évidence les écarts et les données manquantes. Voici comment y parvenir à l'aide de requêtes SQL :
Une approche utilise l'opérateur EXCEPT
:
(SELECT * FROM table1 EXCEPT SELECT * FROM table2)
Cette requête affiche les lignes présentes dans table1
mais absentes de table2
. Pour trouver des lignes uniques à table2
, échangez simplement les noms de table :
(SELECT * FROM table2 EXCEPT SELECT * FROM table1)
Pour une vue combinée de toutes les lignes uniques des deux tables, utilisez UNION ALL
:
<code class="language-sql">(SELECT * FROM table1 EXCEPT SELECT * FROM table2) UNION ALL (SELECT * FROM table2 EXCEPT SELECT * FROM table1)</code>
Si vos tables manquent de valeurs NULL, une méthode plus efficace utilise NOT EXISTS
. Cet exemple récupère les lignes de table1
introuvables dans table2
:
<code class="language-sql">SELECT * FROM table1 WHERE NOT EXISTS ( SELECT * FROM table2 WHERE table2.column1 = table1.column1 )</code>
N'oubliez pas de remplacer table1
, table2
et column1
par les noms réels de vos tables et colonnes. Choisissez la méthode la mieux adaptée à vos données et à vos besoins.
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!