La documentation SQL-Server indique :
column_alias peut être utilisé dans une clause ORDER BY, mais il ne peut pas être utilisé dans une clause WHERE, GROUP BY ou HAVING .
Similaire dans la doc MySQL, il est écrit :
Le SQL standard interdit les références aux alias de colonne dans une clause WHERE . Cette restriction est imposée car lorsque la clause WHERE est évaluée, la valeur de la colonne n'a peut-être pas encore été déterminée.
Dans MySQL vous pouvez au moins réutiliser les alias dans le SELECT clause