投影和选择有什么区别?是吗:
那么投影和选区分别是垂直和水平切片吗?
完全正确。
投影意味着选择查询应返回哪些列(或表达式)。
选择表示要返回哪些行。
如果查询是:
select a, b, c from foobar where x=3;
那么
a, b, c
就是投影部分,where x=3
就是选择部分。
简单地说,PROJECTION处理列的消除或选择,而SELECTION处理行的消除或选择。
投影和选择是关系代数中的两个一元运算,在 RDBMS(关系数据库管理系统)中具有实际应用。
从实际意义上来说,投影是指从表中选择特定的列(属性),选择是指过滤行(元组)。此外,对于传统表格,投影和选择可以称为垂直和水平切片或过滤。
维基百科通过示例提供了更正式的定义,它们有助于进一步阅读关系代数:
投影:在 select 子句中输入的内容,即“列列表”或“*”或“表达式”在投影下。
*选择:*我们在该列上应用什么类型的条件,即获取选择的记录。
例如:
SELECT empno,ename,dno,job from Emp
WHERE job='CLERK';
在上面的查询中,“empno,ename,dno,job”列属于投影,“where job='clerk'”属于选择