SELECT * | [DISTINCT|UNIQUE] expr [AS alias] [, expr [AS alias]]* FROM list_of_tables_views_selects [WHERE list_of_conditions] [GROUP BY [CUBE | ROLLUP(] expr_list [)] | START WITH condition ][CONNECT BY condition] HAVING conditions against aggregate functions [ORDER BY expr [ASC|DESC]] [FOR UPDATE] [OF table_or_view.column] [NOWAIT]