If I do SELECT a AS b and b is not a column in the table, would query create the \"virtual\" column?
in fact, I need to incorporate some virtual column into the quer
You could use a CASE statement, like
SELECT name ,address ,CASE WHEN a < b THEN '1' ELSE '2' END AS one_or_two FROM ...