Select statement. Part I.

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]