Rumah >pangkalan data >tutorial mysql >Hubungan antara di mana dan mempunyai dalam mysql

Hubungan antara di mana dan mempunyai dalam mysql

下次还敢
下次还敢asal
2024-05-01 20:42:35743semak imbas

Klausa WHERE menapis data peringkat baris, manakala klausa HAVING menapis data peringkat kumpulan. Klausa WHERE digunakan selepas kata kunci FROM, manakala klausa HAVING digunakan selepas kata kunci GROUP BY.

Hubungan antara di mana dan mempunyai dalam mysql

Hubungan antara klausa WHERE dan HAVING dalam MySQL

WHERE dan HAVING ialah dua klausa yang digunakan untuk menapis set data MySQL. Perbezaannya ialah klausa WHERE digunakan untuk menapis baris, manakala klausa HAVING digunakan untuk menapis kumpulan.

WHERE klausa

WHERE klausa ditulis selepas FROM kata kunci dan digunakan untuk menapis baris berdasarkan syarat yang diberikan. Ia hanya mempertimbangkan nilai setiap baris, bukan baris lain dalam kumpulan. Klausa WHERE boleh digunakan untuk menapis baris yang tidak memenuhi syarat.

Klausa HAVING

Klausa HAVING ditulis selepas kata kunci GROUP BY dan digunakan untuk menapis kumpulan berdasarkan data dalam kumpulan. Ia mengambil kira nilai agregat dalam kumpulan dan menapis kumpulan berdasarkan nilai ini. Klausa HAVING boleh digunakan untuk menapis kumpulan yang tidak memenuhi kriteria.

Relationships

WHERE dan HAVING klausa digunakan terutamanya untuk menyelesaikan masalah yang berbeza:

  • WHERE klausa digunakan untuk menapis data peringkat baris.
  • Klausa HAVING digunakan untuk menapis data pada peringkat kumpulan.

Contoh

Contoh berikut menunjukkan perbezaan antara klausa WHERE dan HAVING:

<code class="sql">SELECT *
FROM sales
WHERE product_id = 1;  -- WHERE 过滤行</code>

Pertanyaan ini akan mengembalikan semua rekod jualan dengan ID produk 1.

<code class="sql">SELECT product_id, SUM(quantity) AS total_quantity
FROM sales
GROUP BY product_id
HAVING total_quantity > 100;  -- HAVING 过滤组</code>

Pertanyaan ini akan mengembalikan semua kumpulan produk yang ID produk dan jumlah jualan mereka melebihi 100.

Adalah penting untuk memahami perbezaan antara klausa WHERE dan HAVING untuk menapis data dalam pertanyaan MySQL dengan berkesan.

Atas ialah kandungan terperinci Hubungan 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