Kebolehbacaan Subkueri EXISTS
Apabila menggunakan subkueri EXISTS, terdapat dua pilihan utama:
SELECT foo FROM bar WHERE EXISTS (SELECT * FROM baz WHERE baz.id = bar.id); SELECT foo FROM bar WHERE EXISTS (SELECT 1 FROM baz WHERE baz.id = bar.id);
Daripada perspektif prestasi, kedua-duanya adalah setara. Walau bagaimanapun, persoalan timbul tentang kebolehbacaan.
Manual dan Penggunaan Biasa
Seperti penyelidikan yang dijalankan ke atas pelbagai manual RDBMS dan carian dalam talian, nampaknya terdapat perbezaan:
Hasil carian Stack Overflow menunjukkan kelaziman SELECT * yang lebih tinggi sedikit. kod.
Intuitif Pendekatan
Persoalannya menimbulkan sama ada SELECT * lebih intuitif. Walau bagaimanapun, jawapannya menunjukkan bahawa ia bukanlah pilihan yang paling intuitif. Sebaliknya, PILIH 1 disyorkan kerana:
Kesimpulan
Walaupun tiada konsensus yang jelas, SELECT 1 dalam subkueri EXISTS dikatakan lebih intuitif. Ia menekankan aspek kewujudan, selaras dengan piawaian, dan menghilangkan salah tanggapan. Akhirnya, keutamaan kebolehbacaan mungkin berbeza-beza bergantung pada pemahaman dan gaya pembangun.
Atas ialah kandungan terperinci EXISTS Subqueries: SELECT * atau SELECT 1 – Manakah yang Lebih Boleh Dibaca?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!