Heim >Datenbank >MySQL-Tutorial >Wie finde ich Unterschiede zwischen zwei SQL Server-Tabellen?
Vergleich von SQL Server-Tabellen: Eine umfassende Anleitung zum Finden von Unterschieden
Um Dateninkonsistenzen zwischen zwei SQL Server-Tabellen zu identifizieren, ist eine Methode erforderlich, um Zeilen zu ermitteln, die für beide Tabellen eindeutig sind. Die folgende Abfrage erreicht dies effizient:
<code class="language-sql">(SELECT * FROM table1 EXCEPT SELECT * FROM table2) UNION ALL (SELECT * FROM table2 EXCEPT SELECT * FROM table1)</code>
Abfrageaufschlüsselung:
EXCEPT
-Operator isoliert Zeilen, die in table1
vorhanden, aber in table2
nicht vorhanden sind.UNION ALL
führt die Ergebnisse der ersten EXCEPT
Operation mit einer gespiegelten EXCEPT
Operation auf table2
zusammen und deckt alle Abweichungen auf.Anschauliches Beispiel:
Nehmen wir zwei Tabellen an, TempTestData
und RealData
, jeweils mit den Spalten FirstName
, LastName
und Product
. Um Zeilen mit unterschiedlichen Werten in diesen Spalten aufzudecken, verwenden Sie diese Abfrage:
<code class="language-sql">(SELECT * FROM TempTestData EXCEPT SELECT * FROM RealData) UNION ALL (SELECT * FROM RealData EXCEPT SELECT * FROM TempTestData)</code>
Diese Abfrage gibt alle Zeilen zurück, die Variationen in einer der angegebenen Spalten in beiden Tabellen aufweisen.
Wichtige Überlegungen:
NULL
-Werten bieten LEFT JOIN
oder FULL OUTER JOIN
eine robustere NULL
Vergleichsverarbeitung im Vergleich zu EXCEPT
.Das obige ist der detaillierte Inhalt vonWie finde ich Unterschiede zwischen zwei SQL Server-Tabellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!