This article contains a list of miscellaneous information. (October 2024) |
The SQL SELECT statement returns a result set of rows, from one or more tables.[1][2]
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:
SELECT
list is the list of columns or SQL expressions to be returned by the query. This is approximately the relational algebra projection operation.AS
optionally provides an alias for each column or expression in the SELECT
list. This is the relational algebra rename operation.FROM
specifies from which table to get the data.[3]WHERE
specifies which rows to retrieve. This is approximately the relational algebra selection operation.GROUP BY
groups rows sharing a property so that an aggregate function can be applied to each group.HAVING
selects among the groups defined by the GROUP BY clause.ORDER BY
specifies how to order the returned rows.