Maison >base de données >tutoriel mysql >Comment puis-je identifier les écarts entre deux tables SQL ?

Comment puis-je identifier les écarts entre deux tables SQL ?

DDD
DDDoriginal
2025-01-13 16:31:43785parcourir

How Can I Identify Discrepancies Between Two SQL Tables?

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!

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