HAVING is used to check conditions after the aggregation takes place.
WHERE is used before the aggregation takes place.
This code:
select City, CNT=Count(1)
From Address
Where State = ‘MA’
Group By City
Gives you a count of all the cities in MA.
This code:
select City, CNT=Count(1)
From Address
Where State = ‘MA’
Group By City
Having Count(1)>5
Gives you the count of all the cities in MA that occur 6 or more times.