*COUNT() dalam SQL: Hasil Terjamin**
Artikel ini menjelaskan sama ada fungsi SQL COUNT(*)
sentiasa menghasilkan hasil.
Jawapannya: Ya, COUNT(*)
sentiasa mengembalikan nilai berangka.
Penjelasan:
COUNT(*)
mengira jumlah bilangan baris dalam jadual atau subset yang dipilih. Tidak seperti fungsi agregat seperti SUM
atau MAX
, yang mengembalikan NULL
jika tiada baris yang sepadan dengan kriteria pertanyaan, COUNT(*)
akan sentiasa mengembalikan kiraan—walaupun kiraan itu sifar (bermaksud tiada baris yang memenuhi klausa WHERE). Ia mengira bilangan baris dalam skop yang ditentukan, bukan hanya yang sepadan dengan keadaan tertentu.
Nota Penting: KUMPULAN MENGIKUT Klausa
Satu-satunya pengecualian ialah apabila COUNT(*)
digunakan dengan klausa GROUP BY
. Jika kumpulan yang ditakrifkan oleh GROUP BY
tidak mempunyai baris yang memenuhi syarat pertanyaan, COUNT(*)
akan mengembalikan NULL
untuk kumpulan tertentu itu. Ini kerana COUNT(*)
beroperasi pada setiap kumpulan secara individu.
Implikasi Praktikal:
Memahami tingkah laku ini adalah penting untuk menulis pertanyaan SQL yang boleh dipercayai. Mengetahui bahawa COUNT(*)
sentiasa menghasilkan hasil membantu mengelakkan ralat yang disebabkan oleh nilai NULL
yang tidak dijangka.
Atas ialah kandungan terperinci Adakah COUNT(*) Sentiasa Mengembalikan Keputusan dalam Pertanyaan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!