There is not much difference between the 2 queries.That depends on the programmer whether he wants to select all the columns from the table or certain columns from the table.
The benefits of the written queries comes in ur sql tuning.
for e.g If u write the first query,select * from emp Oracle will keep a parsed version of the query in the shared SQL area of SGA.If another user writes the same query,parse and execution time is greatly reduced.
In order to get the results from the second query,u can use the first query in ur application and dont show the columns u dont want.In this case the first query is used to get the results from both the queries.
So,please try to write SQL queries that can be reusable in ur application.It depends on the application developer how he tunes ur application.
In case of any doubts ,write to me at firstname.lastname@example.org
You may want to be a little clearer in your question, as it seems to have been answered quite nicely. The difference in functionality is that * returns all the columns while column_list returns specific columns. If column_list is all the columns of the table in the order that they exist in the table, then the 2 are obviously functionally equivalen. The difference in performance is that Select * takes more time to parse, but may already be in the cache. Additionally, they said aliasing the table reduces recursive calls. Risk-wise, Slect * is *much* riskier. IMHO, it should *never* be used. It makes your SQL and PL/SQL subject to the order and number of columns in the table. This risk out-weighs any of the benefits, IMHO.
I am not sure what else you could possibly be asking for.