ホームページ > データベース > mysql チュートリアル > 2 つの SQL テーブル間の不一致を特定するにはどうすればよいですか?

2 つの SQL テーブル間の不一致を特定するにはどうすればよいですか?

DDD
リリース: 2025-01-13 16:31:43
オリジナル
781 人が閲覧しました

How Can I Identify Discrepancies Between Two SQL Tables?

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>
ログイン後にコピー

table1table2column1 を実際のテーブル名と列名に置き換えてください。 データとニーズに最適な方法を選択してください。

以上が2 つの SQL テーブル間の不一致を特定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート