Понимание того, что SELECT исполняется после HAVING, помогает понять почему в WHERE запрещены • алиасы (ссылка на столбец, еще не может быть определена); • агрегирующие функции (where имеет доступ не ко всему набору данных, а только к конкретному значению), но в HAVING - можно. Следуя определённому порядку выполнения, ядро базы данных может свести к минимуму дисковый ввод/вывод, эффективно использовать индексы и избежать ненужных операций. Это приводит к более быстрому выполнению запросов и меньшему потреблению ресурсов. Правильный порядок исполнения SQL-команд таков:
1. FROM
2. ON
3. JOIN
4. WHERE
5. GROUP BY
6. WITH CUBE / ROLLEUP
7. HAVING
8. SELECT
9. DISTINCT
10. ORDER BY
11. LIMIT / TOP
Есть что добавить, убавить?
Подписывайтесь на мой телеграм-канал аналитика данных https://t.me/analytic_channel