A `WHERE` is evaluated first before a `SELECT` column list. As a result the following: 

`SELECT l_n AS last_name FROM contacts WHERE last_name > 'J';` 

can not work.  

The following will work: 

`SELECT * FROM (SELECT l_n AS last_name FROM contacts) tmp WHERE last_name > 'J';` 

My question is: Is this also classified as a subquery? And if yes, if I wanted to avoid using subqueries is there another alternative for this?