关系代数是一种过程化语言,因为用户通过顺序使用一组运算来达到期望的结果。通过对数据表执行集合运算,产生新的结果表,然后将这些结果表用于随后的顺序运算。在Oracle中,所有的运算名市级上都不用做编程术语,这些运算中的大多数都不产生新的结果表。
1、并运算(Union):两张数据表的并运算结果是检索一张或两张表中的所有行。重复的行要从结果表中除去,也就是说,结果表中不能包含具有相同数据值的两行。对于两张数据表执行并运算需要满足两个基本要求:1)两张表必须具有相同的度;2)两张数据表的响应列必须具有相同的域;
2、交运算(Intersection):两张数据表的交运算所产生的结果表包括两张表中共有的行。两张数据表必须是兼容的,才能执行交运算;
3、差运算(Difference):两张数据表的差运算所产生的结果表包括第一章表中出现但地二张表中不出现的那些行。差运算只能再并兼容的表上才能完成;
4、投影运算(Projection):通过投影运算,我们可以从一张表的所有存在列中选择一些期望的列来生成一张新表,不期望的列则可以忽略不管。投影运算返回数据表的“垂直切片(vertical slice)“;
5、选择运算(Selection):选择运算根据一个或多个条件从一张数据表中选择符合条件的行。条件运算符(=、<>、>、>=、<、<=)和逻辑运算符(AND、OR、NOT)与列和值一同使用,可以生成要满足的条件。选择运算返回数据表的”水平切片(horizontal slic