Почему / Как HAVING предложение может быть до GROUP BY
select count(1) from tableA
having id >1
group by id
order by count(1)
Я знаю, HAVING
предложение может быть без предложения GROUP BY
,
Но когдаопределяя GROUP BY
, почему HAVING
не является обязательным, после
Derby обрабатывает выражение SelectExpression в следующем порядке:
- ОТ предложения
- WHERE предложение
- GROUP BY (или неявное GROUP BY)
- HAVING предложение
- ORDER BY предложение
Во всех документах появляется после GROUP BY
:
GROUP BY WORKDEPT
HAVING MAX(SALARY) < (SELECT AVG(SALARY)
FROM EMPLOYEE
WHERE NOT WORKDEPT = EMP_COR.WORKDEPT)