Rumah  >  Artikel  >  pangkalan data  >  Perbezaan antara di mana dan mempunyai dalam mysql

Perbezaan antara di mana dan mempunyai dalam mysql

下次还敢
下次还敢asal
2024-05-02 00:39:15642semak imbas

Klausa WHERE menapis baris dan digunakan sebelum mengumpulkan; klausa HAVING menapis kumpulan dan digunakan selepas mengumpulkan dan boleh menggunakan hasil fungsi agregat kumpulan.

Perbezaan antara di mana dan mempunyai dalam mysql

Perbezaan antara klausa WHERE dan HAVING

Dalam MySQL, klausa WHERE dan HAVING digunakan untuk menapis set data, tetapi terdapat perbezaan besar dalam skop dan penggunaannya.

WHERE klausa

  • bertindak dalam klausa FROM pernyataan SELECT.
  • Untuk menapis baris, hanya berdasarkan lajur dalam jadual.
  • Sapukan sebelum mengumpulkan baris.

HAVING klausa

  • bertindak selepas GROUP BY klausa pernyataan SELECT.
  • digunakan untuk menapis kumpulan, yang boleh berdasarkan hasil fungsi pengagregatan kumpulan.
  • Digunakan selepas mengumpulkan baris.

Contoh Penggunaan

WHERE klausa:

<code class="sql">SELECT * FROM customers WHERE age > 30;</code>

Pertanyaan ini memilih semua pelanggan yang berumur lebih daripada 30 tahun daripada meja pelanggan.

Klausa MEMPUNYAI:

<code class="sql">SELECT city, COUNT(*) AS customer_count
FROM customers
GROUP BY city
HAVING customer_count > 100;</code>

Pertanyaan ini memilih semua bandar yang mempunyai lebih daripada 100 pelanggan daripada jadual pelanggan.

Ringkasan

  • Klausa WHERE digunakan untuk menapis baris, digunakan sebelum mengumpulkan. Klausa
  • HAVING digunakan untuk menapis kumpulan, digunakan selepas pengumpulan dan boleh menggunakan hasil daripada fungsi agregat kumpulan.

Atas ialah kandungan terperinci Perbezaan antara di mana dan mempunyai dalam mysql. 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