This is an old revision of this page, as edited by SmackBot(talk | contribs) at 11:54, 17 December 2009(remove Erik9bot category,outdated, tag and general fixes). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.Revision as of 11:54, 17 December 2009 by SmackBot(talk | contribs)(remove Erik9bot category,outdated, tag and general fixes)
In relational algebra, a selection (sometimes called a restriction to avoid confusion with SQL's use of SELECT) is a unary operation written as
or where:
The selection selects all those tuples in for which holds between the and the attribute.
The selection selects all those tuples in for which holds between the attribute and the value .
For an example, consider the following tables where the first table gives the relation , the second table gives the result of and the third table gives the result of .
Name
Age
Weight
Harry
34
80
Sally
28
64
George
29
70
Helena
54
54
Peter
34
80
Name
Age
Weight
Harry
34
80
Helena
54
54
Peter
34
80
Name
Age
Weight
Helena
54
54
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.