Rumah > pangkalan data > tutorial mysql > HAVING vs. WHERE dalam SQL: Bila Untuk Menggunakan Setiap Klausa untuk Penapisan Data?

HAVING vs. WHERE dalam SQL: Bila Untuk Menggunakan Setiap Klausa untuk Penapisan Data?

Susan Sarandon
Lepaskan: 2025-01-14 17:11:45
asal
673 orang telah melayarinya

HAVING vs. WHERE in SQL: When to Use Each Clause for Data Filtering?

Perbezaan antara klausa HAVING dan WHERE dalam pernyataan SQL SELECT

Dalam pernyataan SQL SELECT, klausa HAVING dan WHERE mempunyai tujuan yang berbeza dalam penapisan data. Memahami penggunaannya adalah penting untuk mendapatkan hasil pertanyaan yang tepat.

MENDAPAT klausa

Klausa HAVING digunakan selepas pengagregatan menggunakan klausa GROUP BY. Ia menapis baris terkumpul berdasarkan syarat yang digunakan pada nilai agregat. Contohnya:

<code class="language-sql">SELECT City, COUNT(1) AS CNT
FROM Address
WHERE State = 'MA'
GROUP BY City
HAVING COUNT(1) > 5</code>
Salin selepas log masuk

Pertanyaan ini mengembalikan jadual yang mengandungi bandar di Massachusetts dan bilangan alamatnya (lebih daripada 5).

Klausa MANA

Sebaliknya, klausa WHERE menapis baris sebelum pengagregatan. Ia menilai keadaan pada baris individu dan memilih hanya baris yang memenuhi syarat. Contohnya:

<code class="language-sql">SELECT City, COUNT(1) AS CNT
FROM Address
WHERE State = 'MA' AND City LIKE '%ton'
GROUP BY City</code>
Salin selepas log masuk

Pertanyaan ini mengembalikan jadual yang mengandungi bilangan bandar di Massachusetts (dengan nama berakhir dengan "tan") dan alamatnya.

Perbezaan utama

Perbezaan utama antara HAVING dan WHERE ialah apabila ia digunakan:

  • MEMILIKI menapis data agregat selepas dikumpulkan.
  • WHERE Tapis baris individu sebelum mengumpulkan.

Dengan memanfaatkan perbezaan ini, pembangun boleh memanipulasi dan menapis data dengan tepat dalam pernyataan SQL SELECT untuk mendapatkan hasil yang diingini.

Atas ialah kandungan terperinci HAVING vs. WHERE dalam SQL: Bila Untuk Menggunakan Setiap Klausa untuk Penapisan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan