Ответ
SQL-запрос SELECT состоит из нескольких необязательных предложений, которые выполняются в строгом порядке:
- SELECT — определяет столбцы или вычисляемые выражения для вывода.
- FROM — указывает таблицу или таблицы, из которых извлекаются данные.
- WHERE — фильтрует строки перед группировкой.
- GROUP BY — группирует строки по значениям указанных столбцов.
- HAVING — фильтрует группы после группировки (аналог
WHEREдля групп). - ORDER BY — сортирует результирующий набор.
- LIMIT / OFFSET (или
FETCH FIRST/OFFSETв стандарте SQL) — ограничивает количество возвращаемых строк.
Порядок выполнения (логический): FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT.
Пример запроса, использующего все части:
SELECT department, COUNT(*) as employee_count
FROM employees
WHERE hire_date > '2020-01-01'
GROUP BY department
HAVING COUNT(*) > 5
ORDER BY employee_count DESC
LIMIT 10;