Rumah >pangkalan data >tutorial mysql >COUNT(lajur) lwn. COUNT(*): Apakah Perbezaan dalam SQL?

COUNT(lajur) lwn. COUNT(*): Apakah Perbezaan dalam SQL?

Linda Hamilton
Linda Hamiltonasal
2025-01-13 14:52:42891semak imbas

COUNT(column) vs. COUNT(*): What's the Difference in SQL?

Perbezaan antara COUNT(lajur) dan COUNT(*) dalam SQL

Soalan

Apakah perbezaan antara COUNT(lajur) dan COUNT(*) apabila menanyakan jadual SQL?

Penjelasan

COUNT(lajur) mengira bilangan nilai bukan nol dalam lajur yang ditentukan. Sebaliknya, COUNT(*) mengira semua baris dalam jadual, tidak kira sama ada lajur yang ditentukan mengandungi nilai nol.

Contoh

Pertimbangkan borang berikut:

id name
1 John Doe
2 Jane Doe
3 NULL
4 NULL

Perbandingan COUNT(nama) dan COUNT(*)

  • COUNT(nama): Tidak termasuk baris yang mengandungi nilai NULL, menghasilkan 2.
  • COUNT(*): Mengandungi baris yang mengandungi nilai NULL, menghasilkan 4.

Pengendalian nilai NULL

COUNT(lajur) mengabaikan nilai NULL, manakala COUNT(*) menganggapnya sebagai entri yang sah. Tingkah laku ini boleh menjejaskan hasil pertanyaan, terutamanya apabila menggunakan syarat pada klausa WHERE.

Maklumat tambahan

Pertimbangkan pertanyaan berikut:

<code class="language-sql">SELECT name, COUNT(*)
FROM table
GROUP BY name
HAVING COUNT(*) > 2;</code>
  • Menggunakan COUNT(*), hasilnya akan mengandungi deretan nilai NULL ​​dan kiraan nilai NULL.
  • Dengan COUNT(nama), nilai NULL ​​akan dikecualikan, jadi baris tidak akan dikembalikan dalam hasilnya.

Atas ialah kandungan terperinci COUNT(lajur) lwn. COUNT(*): Apakah Perbezaan dalam 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