1. Where clause can not be used with Aggregate Functions where as Having clause has been introduced in SQL for this purpose only.
2. Where clause can be used with other than Select Statement where as Having clause can only be used with Select Statement.
3. Where clause can be used before group by clause where as Having clause can be used after group by clause.