HAVING funguje na souhrnném řádku - WHERE pracuje na celé tabulce před GROUP BY je použito. (Nemůžete vložit GROUP BY stranou, HAVING je klauzule vyhrazená pro použití s GROUP BY - vynechání GROUP BY nemění implicitní akci, která se odehrává v zákulisí).
Je také důležité poznamenat, že z tohoto důvodu WHERE můžete použít index při HAVING nemůže. (V super triviálních neseskupených sadách výsledků byste teoreticky mohli použít index pro HAVING , ale nikdy jsem neviděl optimalizátor dotazů skutečně implementovaný tímto způsobem).