- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
What is join operation in relational algebra (DBMS)?
Join operation combines the relation R1 and R2 with respect to a condition. It is denoted by ⋈.
The different types of join operation are as follows −
Theta join
Natural join
Outer join − It is further classified into following types −
Left outer join.
Right outer join.
Full outer join.
Theta join
If we join R1 and R2 other than the equal to condition then it is called theta join/ non-equi join.
Example
Consider R1 table
RegNo | Branch | Section |
---|---|---|
1 | CSE | A |
2 | ECE | B |
3 | CIVIL | A |
4 | IT | B |
5 | IT | A |
Table R2
Name | RegNo |
---|---|
Bhanu | 2 |
Priya | 4 |
R1 ⋈ R2 with condition R1.regno > R2.regno
RegNo | Branch | Section | Name | Regno |
---|---|---|---|---|
3 | CIVIL | A | Bhanu | 2 |
4 | IT | B | Bhanu | 2 |
5 | IT | A | Bhanu | 2 |
5 | IT | B | Priya | 4 |
In the join operation, we select those rows from the cartesian product where R1.regno>R2.regno.
Join operation = select operation + cartesian product operation
Natural join
If we join R1 and R2 on equal condition then it is called natural join or equi join. Generally, join is referred to as natural join.
Natural join of R1 and R2 is −
{ we select those tuples from cartesian product where R1.regno=R2.regno}
R1 ⋈ R2
Regno | Branch | Section | Name |
---|---|---|---|
2 | - | - | Bhanu |
4 | - | - | priya |
Outer join
It is an extension of natural join to deal with missing values of relation.
Consider R1 and R2 shown below −
Table R1
RegNo | Branch | Section |
---|---|---|
1 | CSE | A |
2 | ECE | B |
3 | CIVIL | A |
4 | IT | B |
5 | IT | A |
Table R2
Name | Regno |
---|---|
Bhanu | 2 |
Priya | 4 |
Hari | 7 |
Outer join is of three types. These are explained below −
Left outer join
It is denoted by R1 ⋈ R2.
RegNo | Branch | Section | Name | Regno |
---|---|---|---|---|
2 | - | - | Bhanu | 2 |
4 | - | - | Priya | 4 |
1 | - | - | NULL | NULL |
3 | - | - | NULL | NULL |
5 | - | - | NULL | NULL |
Here all the tuples of R1(left table) appear in output.
The mismatching values of R2 are filled with NULL.
Left outer join = natural join + mismatch / extra tuple of R1
Right outer join
It is denoted by R1 ⋈ R2
Here all the tuples of R2(right table) appear in output. The mismatching values of R1 are filled with NULL.
RegNo | Branch | Section | Name | Regno |
---|---|---|---|---|
2 | - | - | Bhanu | 2 |
4 | - | - | Priya | 4 |
NULL | NULL | NULL | Hari | 7 |
Right outer join = natural join+ mismatch/extra tuple of R2.
Full outer join
It is denoted by R1 ⋈ R2.
Full outer join=left outer join U right outer join.
RegNo | Branch | Section | Name | Regno |
---|---|---|---|---|
2 | - | - | Bhanu | 2 |
4 | - | - | Priya | 4 |
1 | - | - | NULL | NULL |
3 | - | - | NULL | NULL |
5 | - | - | NULL | NULL |
NULL | NULL | NULL | Hari | 7 |
Example
Given below is the picture of full outer join −
- Related Articles
- Explain project operation in relational algebra (DBMS)?
- Explain rename operation in relational algebra (DBMS)?
- Explain union operation in relational algebra (DBMS)?
- Explain intersection operation in relational algebra (DBMS)?
- Explain division operation in relational algebra (DBMS)?
- Explain the select operation in relational algebra (DBMS)?
- Explain the relational algebra in DBMS?
- Explain cartesian product in relational algebra (DBMS)?
- Explain the binary operations in relational algebra (DBMS)?
- Explain the evaluation of relational algebra expression(DBMS)
- Write queries using aggregate functions in relational algebra (DBMS)?
- Difference between Relational Algebra and Relational Calculus
- Basic Operators in Relational Algebra
- What is lossless join decomposition in DBMS?
- What are the capabilities of DBMS and why relational DBMS is powerful?
