In relational algebra, a selection (sometimes called a restriction in reference to E.F. Codd's 1970 paper and not, contrary to a popular belief, to avoid confusion with SQL's use of SELECT, since Codd's article predates the existence of SQL) is a unary operation that denotes a subset of a relation.
A selection is written as
The selection
The selection
For an example, consider the following tables where the first table gives the relation
More formally the semantics of the selection is defined as follows:
The result of the selection is only defined if the attribute names that it mentions are in the heading of the relation that it operates upon.
In computer languages it is expected that any truth-valued expression be permitted as the selection condition rather than restricting it to be a simple comparison.
In SQL, selections are performed by using WHERE
definitions in SELECT
, UPDATE
, and DELETE
statements, but note that the selection condition can result in any of three truth values (true, false and unknown) instead of the usual two.