Q1. What is the difference between WHERE and HAVING clause?
basicAnswer
WHERE filters rows before grouping, while HAVING filters groups after aggregation. WHERE cannot use aggregate functions, but HAVING can. Example: WHERE filters individual sales records, HAVING filters groups of sales by region.
Example Code
1-- WHERE: Filter rows before aggregation
2SELECT department, AVG(salary)
3FROM employees
4WHERE hire_date > '2020-01-01'
5GROUP BY department;
6
7-- HAVING: Filter after aggregation
8SELECT department, AVG(salary)
9FROM employees
10GROUP BY department
11HAVING AVG(salary) > 50000;