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>
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>
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:
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!