Select (SQL)
The SQL SELECT statement returns a result set of rows, from one or more tables.
A SELECT statement retrieves zero or more rows from one or more database tables or database views. In most applications, SELECT is the most commonly used data manipulation language (DML) command. As SQL is a declarative programming language, SELECT queries specify a result set, but do not specify how to calculate it.  The database translates the query into a "query plan" which may vary between executions, database versions and database software.  This functionality is called the "query optimizer" as it is responsible for finding the best possible execution plan for the query, within applicable constraints.
The SELECT statement has many optional clauses:
- SELECTlist is the list of columns or SQL expressions to be returned by the query. This is approximately the relational algebra projection operation.
- ASoptionally provides an alias for each column or expression in the- SELECTlist. This is the relational algebra rename operation.
- FROMspecifies from which table to get the data.
- WHEREspecifies which rows to retrieve. This is approximately the relational algebra selection operation.
- GROUP BYgroups rows sharing a property so that an aggregate function can be applied to each group.
- HAVINGselects among the groups defined by the GROUP BY clause.
- ORDER BYspecifies how to order the returned rows.