在关系代数中选择DISTINCT行

时间:2011-01-23 18:53:35

标签: relational-algebra

SQL中有一个DISTINCT运算符。但是,我有一个赋值,我需要从表中获取一些不同的值,我只能使用关系代数。有办法吗?

3 个答案:

答案 0 :(得分:34)

关系投影总是返回不同的元组,因此永远不需要DISTINCT。 RA中不允许重复的元组 - 这是关系模型和SQL模型之间的一个主要区别。

答案 1 :(得分:5)

关系代数基于集合论。 SQL是多集理论的一种实现。 Set始终具有不同的元素。所以元组在关系代数中默认是不同的。

答案 2 :(得分:0)

关系代数中的投影等效于选择不相同。在sql的select语句中,允许重复,因为它是基于多集理论的,但是在关系代数的投影(基于集合论)中,不允许重复。

因此, 选择非凡 的关系代数等同于投影。