When you insert using a SELECT statement, if all columns from your select exists in your other table and they are in the same order of columns, then you should not have to list each column. In this case the select * would work. You must have all columns in the inserted table to use the Select * statement when inserting, otherwise, as you have found out, you have to list each column you want to insert. I hope this helps explain why in your case the select * probably did not work.