WHERE vs HAVING in SQL

Example:
WHERE: SELECT * FROM orders WHERE amount > 100 HAVING: SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id HAVING COUNT(*) > 5
WHERE filters rows before grouping. HAVING filters groups after aggregation. WHERE: row-level filter. HAVING: group-level filter.
Try SQL Beautifier →

FAQs

Can I use WHERE with GROUP BY?

Yes! WHERE filters before grouping, HAVING filters after grouping. Often use both together.