Es una forma. Algo rústica, que puede no ser aplicable en todos los casos.
Pero el problema central también es que hay que tener siempre en cuenta una restricción de los alias
que existe en todos los sistemas de bases de datos, y no sólo en MySQL:
No se puede usar como columna de un SELECT un alias que se crea en el mismo SELECT, ni tampoco se puede usar en en WHERE dentro de la misma consulta.
Eso significa que tienes dos opciones: La que @shaserUsa te propone (algo rústica y puede que no sea funcional siempre), o bien transformar el resultado de parte de la consulta como tabla derivada en el FROM:
Código MySQL:
Ver originalSELECT Columna1
, (NuevaColumna
* Factor Calculado
) Calculado
Columna1,
(Columna2 + Columna3) NuevaColumna,
Factor
En cuanto al uso de variables, es un arma de doble filo. Sirven, pero como son permanentes dentro de la misma sesión de MySQL, pueden terminar arrastrando basura (datos obsoletos), si no se las maneja correctamente.
A las variables hay que dominarlas bien antes de usarlas, para evitar problemas inesperados.
Fuera de eso, son poderosas.