问题
What is the difference between projection and selection? Is it:
- Projection --> for selecting the columns of table; and
- Selection ---> to select the rows of table?
So are projection and selection vertical and horizontal slicing respectively?
回答1:
Exactly.
Projection means choosing which columns (or expressions) the query shall return.
Selection means which rows are to be returned.
if the query is
select a, b, c from foobar where x=3;
then "a, b, c" is the projection part, "where x=3" the selection part.
回答2:
Simply PROJECTION deals with elimination or selection of columns, while SELECTION deals with elimination or selection of rows.
回答3:
Projection: what ever typed in select clause i.e, 'column list' or '*' or 'expressions' that becomes under projection.
*selection:*what type of conditions we are applying on that columns i.e, getting the records that comes under selection.
For example:
SELECT empno,ename,dno,job from Emp
WHERE job='CLERK';
in the above query the columns "empno,ename,dno,job" those comes under projection, "where job='clerk'" comes under selection
回答4:
Projections and Selections are two unary operations in Relational Algebra and has practical applications in RDBMS (relational database management systems).
In practical sense, yes Projection means selecting specific columns (attributes) from a table and Selection means filtering rows (tuples). Also, for a conventional table, Projection and Selection can be termed as vertical and horizontal slicing or filtering.
Wikipedia provides more formal definitions of these with examples and they can be good for further reading on relational algebra:
- Projection: https://en.wikipedia.org/wiki/Projection_(relational_algebra)
- Selection: https://en.wikipedia.org/wiki/Selection_(relational_algebra)
- Relational Algebra: https://en.wikipedia.org/wiki/Relational_algebra
来源:https://stackoverflow.com/questions/1031076/what-are-projection-and-selection