Perbedaan utama antara WHERE dan HAVING di SQL:
- WHERE → Dipakai buat menyaring data sebelum agregasi (GROUP BY).
Contoh: Mau ambil pelanggan yang berasal dari “Jakarta”.<span class="hljs-keyword">SELECT</span> <span class="hljs-operator">*</span> <span class="hljs-keyword">FROM</span> pelanggan <span class="hljs-keyword">WHERE</span> kota <span class="hljs-operator">=</span> <span class="hljs-string">'Jakarta'</span>;
- HAVING → Dipakai buat menyaring hasil setelah agregasi.
Contoh: Mau ambil kategori produk yang total penjualannya lebih dari 1.000.<span class="hljs-keyword">SELECT</span> kategori, <span class="hljs-built_in">SUM</span>(penjualan)
<span class="hljs-keyword">FROM</span> produk
<span class="hljs-keyword">GROUP</span> <span class="hljs-keyword">BY</span> kategori
<span class="hljs-keyword">HAVING</span> <span class="hljs-built_in">SUM</span>(penjualan) <span class="hljs-operator">></span> <span class="hljs-number">1000</span>;
Intinya: WHERE menyaring baris data langsung, sedangkan HAVING menyaring hasil agregasi setelah GROUP BY.