HAVING
работи върху обобщения ред - WHERE
работи с цялата таблица преди GROUP BY
приложено е. (Не можете да поставите GROUP BY
настрана, HAVING
е клауза, запазена за използване с GROUP BY
- пропускане на GROUP BY
не променя неявното действие, което се случва зад кулисите).
Също така е важно да се отбележи, че поради това WHERE
може да използва индекс, докато HAVING
не мога. (В супер тривиални негрупирани набори от резултати теоретично бихте могли да използвате индекс за HAVING
, но никога не съм виждал оптимизатор на заявки, действително внедрен по този начин).