Maison >base de données >tutoriel mysql >Comment trouver les différences entre deux tables SQL Server ?

Comment trouver les différences entre deux tables SQL Server ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-13 16:36:47319parcourir

How to Find Differences Between Two SQL Server Tables?

Comparaison des tables SQL Server : un guide complet pour trouver les différences

L'identification des incohérences de données entre deux tables SQL Server nécessite une méthode pour identifier les lignes uniques à chaque table. La requête suivante y parvient efficacement :

<code class="language-sql">(SELECT * FROM table1 EXCEPT SELECT * FROM table2) UNION ALL (SELECT * FROM table2 EXCEPT SELECT * FROM table1)</code>

Répartition des requêtes :

  • L'opérateur EXCEPT isole les lignes présentes dans table1 mais absentes dans table2.
  • UNION ALL fusionne les résultats de la première opération EXCEPT avec une opération EXCEPT en miroir sur table2, révélant tous les écarts.

Exemple illustratif :

Supposons deux tableaux, TempTestData et RealData, chacun avec des colonnes FirstName, LastName et Product. Pour découvrir des lignes avec des valeurs différentes dans ces colonnes, utilisez cette requête :

<code class="language-sql">(SELECT * FROM TempTestData EXCEPT SELECT * FROM RealData) UNION ALL (SELECT * FROM RealData EXCEPT SELECT * FROM TempTestData)</code>

Cette requête renverra toutes les lignes présentant des variations dans l'une des colonnes spécifiées dans les deux tables.

Considérations importantes :

  • Cette approche suppose des noms de colonnes et des types de données identiques dans les deux tables.
  • Pour les tableaux contenant NULL valeurs, LEFT JOIN ou FULL OUTER JOIN offrent une gestion de comparaison NULL plus robuste que EXCEPT.

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!

Déclaration:
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