Memilih Baris dengan Nilai Lajur Tidak Berbeza
Mengenal pasti baris yang nilai lajur tertentu tidak berbeza boleh dicapai melalui pelbagai kaedah. Mari kita terokai dua pendekatan untuk mencapai hasil ini.
Kaedah 1: Menggunakan Subkueri
Pendekatan ini melibatkan pemilihan nilai lajur berbeza yang muncul berbilang kali dalam jadual. Baris dengan nilai tersebut kemudiannya boleh diekstrak menggunakan klausa IN:
SELECT [EmailAddress], [CustomerName] FROM [Customers] WHERE [EmailAddress] IN (SELECT [EmailAddress] FROM [Customers] GROUP BY [EmailAddress] HAVING COUNT(*) > 1)
Kaedah 2: Menggunakan Operator EXISTS
Kaedah alternatif adalah dengan menggunakan operator EXISTS , menyemak kewujudan nilai pendua dalam a subquery:
SELECT [EmailAddress], [CustomerName] FROM [Customers] WHERE EXISTS (SELECT * FROM [Customers] AS T2 WHERE T2.[EmailAddress] = T1.[EmailAddress] AND T2.[CustomerName] <> T1.[CustomerName])
Pertimbangan Prestasi
Walaupun kedua-dua kaedah menghasilkan hasil yang diingini, pendekatan subquery biasanya lebih pantas daripada menggunakan EXISTS. Oleh itu, adalah disyorkan untuk set data yang besar untuk mengoptimumkan prestasi.
Atas ialah kandungan terperinci Bagaimana Mengenalpasti Baris dengan Nilai Lajur Bukan Unik dengan Cekap dalam Pangkalan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!