|< < 56 > >|

Transforming Relational Algebra Expressions

Transformations involving multiple kinds of operators

Select can be pushed below a join

Predicates involving one table can be pushed below the join. So:
select( join(R, S), R_predicate and S_predicate and RS_predicate) = select( join( select(R, R_predicate), select(S, S_predicate)), RS_predicate)

Of course, if one of these predicates is empty, the select can be removed.

|< < 56 > >|