Additional relational operations

There are many relational operations that have been defined in the literature. For example:

Semijoin

Let R and S be relations.

Then R SEMIJOIN S = PROJECT(R JOIN S, attrib(R))

Loosely speaking R SEMIJOIN S gives the tuples in R for which there is a counterpart in S

Semiminus

Let R and S be relations.

Then R SEMIMINUS S = R MINUS (R SEMIJOIN S)

Loosely speaking R SEMIMINUS S gives the tuples in R for which there is no counterpart in S