Selecting DISTINCT rows in relational algebra

Relational Algebra is based on set theory. SQL is an implementation of multi-set theory. Set always has distinct elements. So tuples are distinct by default in Relational Algebra.


Relational operators always return distinct tuples so DISTINCT is never needed. Duplicate tuples are not permitted in the RA - that being one major difference between the relational model and the SQL model.


The projection in relational algebra is equivalent to select distinct. In select statement of sql, duplicates are allowed as it is based on multiset theory but in projection of relational algebra, which is based on set theory, duplicates are not allowed.

Hence, relational algebra equivalent of select distinct is projection.