Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mencari Perbezaan Antara Dua Jadual Pelayan SQL?
Membandingkan Jadual Pelayan SQL: Panduan Komprehensif untuk Mencari Perbezaan
Mengenal pasti ketidakkonsistenan data antara dua jadual SQL Server memerlukan kaedah untuk menentukan baris unik pada mana-mana jadual. Pertanyaan berikut berjaya mencapai ini dengan cekap:
<code class="language-sql">(SELECT * FROM table1 EXCEPT SELECT * FROM table2) UNION ALL (SELECT * FROM table2 EXCEPT SELECT * FROM table1)</code>
Pecahan Pertanyaan:
EXCEPT
mengasingkan baris yang ada dalam table1
tetapi tiada dalam table2
.UNION ALL
menggabungkan hasil operasi EXCEPT
pertama dengan operasi EXCEPT
bercermin pada table2
, mendedahkan semua percanggahan.Contoh Ilustrasi:
Mari kita anggap dua jadual, TempTestData
dan RealData
, setiap satu dengan lajur FirstName
, LastName
dan Product
. Untuk mendedahkan baris dengan nilai yang berbeza merentas lajur ini, gunakan pertanyaan ini:
<code class="language-sql">(SELECT * FROM TempTestData EXCEPT SELECT * FROM RealData) UNION ALL (SELECT * FROM RealData EXCEPT SELECT * FROM TempTestData)</code>
Pertanyaan ini akan mengembalikan semua baris yang mempamerkan variasi dalam mana-mana lajur yang ditentukan merentas kedua-dua jadual.
Pertimbangan Penting:
NULL
, LEFT JOIN
atau FULL OUTER JOIN
menawarkan pengendalian perbandingan NULL
yang lebih mantap berbanding EXCEPT
.Atas ialah kandungan terperinci Bagaimana untuk Mencari Perbezaan Antara Dua Jadual Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!