What are projection and selection?

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?

160300 次浏览

没错。

投影 意味着选择 哪些柱子(或表达式)查询将返回。

选择 意味着返回 哪一排

if the query is

select a, b, c from foobar where x=3;

那么“ a,b,c”是投影部分,“其中 x = 3”是选择部分。

投影: 任何在 select 子句中键入的内容,即在投影中出现的“ column list”或“ *”或“ expression”。

* 选择: * 我们对这些列应用的条件是什么类型,即获取所选内容下的记录。

例如:

  SELECT empno,ename,dno,job from Emp
WHERE job='CLERK';

在上面的查询中,“ empno,ename,dno,job”这些列位于投影之下,“ where job = ‘ office’”位于选择之下

简单的 PROJECTION处理列的消除或选择,而 选择处理行的消除或选择。

投影和选择是关系代数中的两个一元操作,在关系数据库管理系统(关系数据库管理系统)中有实际应用。

在实际意义上,是的,投影意味着从表中选择特定的列(属性) ,而选择意味着过滤行(元组)。此外,对于传统的表,投影和选择可以称为垂直和水平切片或过滤。

维基百科提供了更为正式的定义和例子,对于关系代数的进一步阅读很有帮助: