В большинстве диалектов SQL нельзя использовать «отображаемую метку» или имя в «AS name» для ссылки на выражение внутри тела запроса - к большому огорчению людей.Однако вы можете использовать выражение в предложении WHERE.
SELECT X*X + Y*Y AS DistanceSquared, POINTS.* from POINTS
WHERE X > 0
AND Y > 0
AND (X * X + Y * Y) < 50;
Предложение HAVING связано с агрегатами и сравнениями для агрегатов:
SELECT name, COUNT(*)
FROM SomeWhere
GROUP BY Name
HAVING COUNT(*) > 1;
Условия в предложении HAVING должны (должен) привлекать хотя бы один «прямой» агрегат;другой термин в условии может быть константой (как показано) или другим прямым агрегатом или подзапросом, возможно, включающим «косвенные» агрегаты.(AFAIK, я придумал терминологию «прямой / косвенный» для этого ответа - вы, вероятно, не сможете найти выражение с пользой.)