SQL テーブルを比較してデータの相違点を見つける
2 つの SQL Server テーブル間でデータの一貫性を確保するには、それぞれに固有の行を識別する必要があります。 これにより、データの不一致と欠落が強調表示されます。 SQL クエリを使用してこれを実現する方法は次のとおりです:
1 つのアプローチでは、EXCEPT
演算子を使用します。
(SELECT * FROM table1 EXCEPT SELECT * FROM table2)
このクエリは、table1
には存在するが、table2
には存在しない行を表示します。 table2
に固有の行を検索するには、テーブル名を交換するだけです:
(SELECT * FROM table2 EXCEPT SELECT * FROM table1)
両方のテーブルにわたるすべての一意の行を組み合わせて表示するには、UNION ALL
:
<code class="language-sql">(SELECT * FROM table1 EXCEPT SELECT * FROM table2) UNION ALL (SELECT * FROM table2 EXCEPT SELECT * FROM table1)</code>
テーブルに NULL 値がない場合は、より効率的な方法で NOT EXISTS
を使用します。この例では、table1
に見つからない行を table2
から取得します:
<code class="language-sql">SELECT * FROM table1 WHERE NOT EXISTS ( SELECT * FROM table2 WHERE table2.column1 = table1.column1 )</code>
table1
、table2
、column1
を実際のテーブル名と列名に置き換えてください。 データとニーズに最適な方法を選択してください。
以上が2 つの SQL テーブル間の不一致を特定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。