投影和选择有什么区别?是这样的:
- 投影 --> 用于选择表格的列; 和
- 选择 ---> 用于选择表格的行吗?
那么,投影和选择分别对应垂直和水平切片吗?
投影和选择有什么区别?是这样的:
那么,投影和选择分别对应垂直和水平切片吗?
没错。
投影是指选择查询应返回哪些列(或表达式)。
选择是指要返回哪些行。
如果查询是
select a, b, c from foobar where x=3;
然后,"a,b,c"是投影部分,"where x=3"是选择部分。简单来说,PROJECTION 处理的是列的消除或选择,而SELECTION处理的是行的消除或选择。
投影和选择是关系代数中的两个一元运算符,在关系型数据库管理系统中具有实际应用。
实际上,投影意味着从表中选择特定的列(属性),而选择意味着过滤行(元组)。此外,对于传统表格来说,投影和选择可以被称为垂直和水平切片或过滤。
维基百科提供了更正式的定义和示例,可作为进一步学习关系代数的参考:
投影:在select子句中键入的任何内容,即“列列表”、“*”或“表达式”,都将成为投影。
选择:我们对这些列应用什么类型的条件,即获取属于选择的记录。
例如:
SELECT empno,ename,dno,job from Emp
WHERE job='CLERK';
SELECT
子句实际上执行的是投影(而不是选择),而是WHERE
子句实际上执行的是选择。 - flow2k