Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mencari Perbezaan Antara Dua Jadual Pelayan SQL?

Bagaimana untuk Mencari Perbezaan Antara Dua Jadual Pelayan SQL?

Susan Sarandon
Susan Sarandonasal
2025-01-13 16:36:47269semak imbas

How to Find Differences Between Two SQL Server Tables?

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:

  • Pengendali 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:

  • Pendekatan ini menganggap nama lajur dan jenis data yang sama dalam kedua-dua jadual.
  • Untuk jadual yang mengandungi nilai 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn