2011-01-23 39 views
13

SQL中有一個DISTINCT運算符。但是,我有一個任務,我需要從表中獲取一些不同的值,並且我只能使用關係代數。有沒有辦法?在關係代數中選擇DISTINCT行

+0

也許你可以使用除法運算符Rel1÷Rel1! – 2011-01-23 19:19:23

回答

31

關係投影總是返回不同的元組,因此從不需要DISTINCT。 RA中不允許使用重複的元組 - 這是關係模型和SQL模型之間的一個主要區別。

+0

我知道這是一個老問題,但我必須反對,在關係代數中有一個獨特的運算符,在我的Ullmans數據庫系統完整書中,它在以下章節中:,, 5.2.1重複消除「。是的,當然,重複是不允許的在正常設置,但有multisets,允許他們。 – 2015-09-17 13:09:44

3

關係代數基於集合論。 SQL是一個多集合理論的實現。集始終有不同的元素。所以元組在關係代數中默認是不同的。