Basic Operators in Relational Algebra

Last Updated : 24 Apr, 2026

The Relational Model is a way of structuring data using relations, which are a collection of tuples that have the same attributes. Relational Algebra is a procedural query language that takes relations as input and returns relations as output.

basic_operators_of_relational_algebra

Here, we'll explore the basic operators of Relational Algebra using the tables below.

Table 1: STUDENT_SPORTS

ROLL_NOSPORTS
1Tennis
2Soccer
2Tennis
4Basketball

 Table 2: EMPLOYEE

EMP_NONAMEADDRESSPHONEAGE
1John SmithNew York912345678028
5Michael BrownChicago923456789132
6Emma DavisBoston934567891227
4David WilsonNew York945678912330

Table 3: STUDENT 

ROLL_NONAMEADDRESSPHONEAGE
1John SmithNew York912345678028
2Robert JohnsonLos Angeles923451234518
3Daniel LeeHouston934561234520
4David WilsonNew York945678912330

1. Selection operator (σ)

Selection operator is used to selecting tuples from a relation based on some condition. 

Syntax: 

σ(Condition)(Relation Name)

Note: SELECT operation directly returns filtered tuples. Projection is only used to select specific columns. So, the correct syntax to generate the result is:

\pi(NAME,AGE) (σ(AGE>18) (STUDENT))

Extract students whose age is greater than 18 from STUDENT relation given in Table 3  

σ (AGE>18)(STUDENT)

Result: 

ROLL_NONAMEADDRESSPHONEAGE
1John SmithNew York912345678028
3Daniel LeeHouston934561234520
4David WilsonNew York945678912330

2. Projection Operator (\pi)

Projection operator is used to project particular columns from a relation. 

Syntax:  

\pi(Column 1,Column 2….Column n)(Relation Name)

Extract ROLL_NO and NAME from STUDENT relation given in Table 3  

\pi (ROLL_NO,NAME)(STUDENT)

Result:  

ROLL_NONAME
1John Smith
2Robert Johnson
3Daniel Lee
4David Wilson

Note: If the resultant relation after projection has duplicate rows, it will be removed. For Example  (ADDRESS)(STUDENT) will remove one duplicate row with the value DELHI and return three rows.

3. Cross Product(X)

It is the base operation used before join. For every row of Relation1, each row of Relation2 is concatenated. If Relation1 has m tuples and and Relation2 has n tuples, cross product of Relation1 and Relation2 will have m x n tuples. 

Syntax: 

Relation1 X Relation2

To apply Cross Product on STUDENT relation given in Table 3 and STUDENT_SPORTS relation given in Table 1,  

STUDENT X STUDENT_SPORTS

Result:

ROLL_NO (S)NAMEADDRESSPHONEAGEROLL_NO (SS)SPORTS
1John SmithNew York9123456780281Tennis
1John SmithNew York9123456780282Soccer
1John SmithNew York9123456780282Tennis
1John SmithNew York9123456780284Basketball
2Robert JohnsonLos Angeles9234512345181Tennis
2Robert JohnsonLos Angeles9234512345182Soccer
2Robert JohnsonLos Angeles9234512345182Tennis
2Robert JohnsonLos Angeles9234512345184Basketball
3Daniel LeeHouston9345612345201Tennis
3Daniel LeeHouston9345612345202Soccer
3Daniel LeeHouston9345612345202Tennis
3Daniel LeeHouston9345612345204Basketball
4David WilsonNew York9456789123301Tennis
4David WilsonNew York9456789123302Soccer
4David WilsonNew York9456789123302Tennis
4David WilsonNew York9456789123304Basketball

4. Union (U)

Union on two relations R1 and R2 can only be computed if R1 and R2 are union compatible (These two relations should have the same number of attributes and corresponding attributes in two relations have the same domain). Union operator when applied on two relations R1 and R2 will give a relation with tuples that are either in R1 or in R2. The tuples which are in both R1 and R2 will appear only once in the result relation. 

Syntax: 

 Relation1 U Relation2

Find the person who is either student or employees, we can use Union operators like: 

STUDENT∪ ρ(ROLL_NO,EMP_NO)(EMPLOYEE)

Result:  

ROLL_NONAMEADDRESSPHONEAGE
1John SmithNew York912345678028
2Robert JohnsonLos Angeles923451234518
3Daniel LeeHouston934561234520
4David WilsonNew York945678912330
5Michael BrownChicago923456789132
6Emma DavisBoston934567891227

5. Minus (-) or Set Difference

Minus on two relations R1 and R2 can only be computed if R1 and R2 are union compatible. Minus operator when applied on two relations as R1-R2 will give a relation with tuples that are in R1 but not in R2. Syntax: 

 Relation1 - Relation2

Find the person who is a student but not an employee, we can use minus operator like:  

STUDENT−ρ(ROLL_NO,EMP_NO)(EMPLOYEE)

Result:

ROLL_NONAMEADDRESSPHONEAGE
2Robert JohnsonLos Angeles923451234518
3Daniel LeeHouston934561234520

6. Rename(ρ)

Rename operator is used to rename a relation or its attributes for clarity or further operations.

Syntax:  

ρ(new_relation_name, original_relation)

To rename STUDENT relation to STUDENT1, we can use rename operator like:  

ρ(STUDENT1, STUDENT)

If you want to create a relation STUDENT_NAMES with ROLL_NO and NAME from STUDENT, it can be done using rename operator as:  

ρ(STUDENT_NAMES, \pi(ROLL_NO, NAME)(STUDENT))

Extended Relational Algebra Operators

  • Intersection (∩)
  • Division (÷)
  • Join Operations (⋈)
  • Natural Join
  • Theta Join
  • Equi Join

These operators provide more functionality for complex queries in relational databases.

Comment

Explore