In SQL Server, you can use SELECT * with other columns or expressions without specifying the table name or alias.
Oracle requires that the table name or an alias are specified for * if it is used with other columns or expressions.
SQL Server:
-- Standalone * SELECT * FROM colors; /* Ok */ -- With other columns without alias SELECT *, name FROM colors; /* Ok */
Oracle:
-- Standalone * does not require alias SELECT * FROM colors; /* Ok */ -- With other columns without alias SELECT *, name FROM colors; /* ERROR at line 1: ORA-00923: FROM keyword not found where expected */ -- Adding an alias SELECT c.*, name FROM colors c; /* Ok */
For more information, see SQL Server to Oracle Migration.