Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengenalpasti Percanggahan Antara Dua Jadual SQL?
Membandingkan Jadual SQL untuk Mencari Perbezaan Data
Memastikan konsistensi data merentas dua jadual SQL Server memerlukan mengenal pasti baris yang unik untuk setiap satu. Ini menyerlahkan percanggahan dan data yang tiada. Berikut ialah cara untuk mencapai ini menggunakan pertanyaan SQL:
Satu pendekatan menggunakan operator EXCEPT
:
(SELECT * FROM table1 EXCEPT SELECT * FROM table2)
Pertanyaan ini menunjukkan baris hadir dalam table1
tetapi tiada daripada table2
. Untuk mencari baris yang unik kepada table2
, cuma tukar nama jadual:
(SELECT * FROM table2 EXCEPT SELECT * FROM table1)
Untuk paparan gabungan semua baris unik merentas kedua-dua jadual, gunakan UNION ALL
:
<code class="language-sql">(SELECT * FROM table1 EXCEPT SELECT * FROM table2) UNION ALL (SELECT * FROM table2 EXCEPT SELECT * FROM table1)</code>
Jika jadual anda kekurangan nilai NULL, kaedah yang lebih cekap menggunakan NOT EXISTS
. Contoh ini mendapatkan semula baris daripada table1
tidak ditemui dalam table2
:
<code class="language-sql">SELECT * FROM table1 WHERE NOT EXISTS ( SELECT * FROM table2 WHERE table2.column1 = table1.column1 )</code>
Ingat untuk menggantikan table1
, table2
dan column1
dengan nama jadual dan lajur sebenar anda. Pilih kaedah yang paling sesuai dengan data dan keperluan anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengenalpasti Percanggahan Antara Dua Jadual SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!