1. Relational Algebra is a procedural query language. Relational algebra mainly provides a theoretical foundation for
relational databases and SQL.
Types of Relational operation
2. 1. Select Operation:
• The select operation selects tuples that satisfy a given predicate.
• It is denoted by sigma (σ).
Syntax: σ p(r)
Where:
• σ - is used for selection prediction
r - is used for relation
p - is used as a propositional logic formula which may use connectors
like: AND OR and NOT. These relational can use as relational operators
like =, ≠, ≥, <, >, ≤.
4. 2. Project Operation:
• This operation shows the list of those attributes that we wish to
appear in the result.
• It is denoted by ∏
• ∏ (R) A1, A2, An
NAME STREET CITY
Jones Main Harrison
Smith North Rye
Hays Main Harrison
Curry North Rye
Johnson Alma Brooklyn
Brooks Senator Brooklyn
Example: CUSTOMER RELATION
∏ NAME, CITY (CUSTOMER)
5. 3. Union Operation:
•Suppose there are two tuples R and S. The union operation contains all
the tuples that are either in R or S or both in R & S.
•It eliminates the duplicate tuples. It is denoted by ∪.
SYNTAX - R ∪ S
A union operation must hold the following condition:
•R and S must have the attribute of the same number.
•Duplicate tuples are eliminated automatically.
6. DEPOSITOR RELATION
CUSTOMER_NAME ACCOUNT_NO
Johnson A-101
Smith A-121
Mayes A-321
Turner A-176
Johnson A-273
Jones A-472
Lindsay A-284
BORROW RELATION
CUSTOMER_NAME LOAN_NO
Jones L-17
Smith L-23
Hayes L-15
Jackson L-14
Curry L-93
Smith L-11
Williams L-17
∏ CUSTOMER_NAME (BORROW) ∪ ∏ CUSTOMER_NAME (DEPOSITOR)
Output:
CUSTOMER_NAME
Johnson
Smith
Hayes
Turner
Jones
Lindsay
Jackson
Curry
7. 4. Set Intersection:
• Suppose there are two tuples R and S. The set intersection
operation contains all tuples that are in both R & S.
• It is denoted by intersection ∩.
• Notation: R ∩ S
∏ CUSTOMER_NAME (BORROW) ∩ ∏ CUSTOMER_NAME
(DEPOSITOR)
Output:
CUSTOMER_NAME
Smith
Jones
8. 5. Set Difference:
Suppose there are two tuples R and S. The set intersection operation
contains all tuples that are in R but not in S.
It is denoted by intersection minus (-).
Notation: R - S
∏ CUSTOMER_NAME (BORROW) - ∏ CUSTOMER_NAME
(DEPOSITOR)
Output:
CUSTOMER_NAME
Jackson
Hayes
10. Input:
EMPLOYEE X DEPARTMENT
Output:
EMP_ID EMP_NAME EMP_DEPT DEPT_NO DEPT_NAME
1 Smith A A Marketing
1 Smith A B Sales
1 Smith A C Legal
2 Harry C A Marketing
2 Harry C B Sales
2 Harry C C Legal
3 John B A Marketing
3 John B B Sales
3 John B C Legal
11. 7. Rename Operation:
• The rename operation is used to rename the output relation. It is
denoted by rho (ρ).
• Example: We can use the rename operator to rename STUDENT relation
to STUDENT1.
• ρ(STUDENT1, STUDENT)
12. Join Operations:
A Join operation combines related tuples from different relations, if
and only if a given join condition is satisfied. It is denoted by ⋈.
14. 1. Natural Join:
A natural join is the set of tuples of all combinations in R and S that
are equal on their common attribute names.
It is denoted by ⋈.
Input:
∏EMP_NAME, SALARY (EMPLOYEE ⋈ SALARY)
Output:
EMP_NAME SALARY
Stephan 50000
Jack 30000
Harry 25000
15. What are Joins?
JOINS in SQL are commands which are used to combine rows from two or more tables, based
on a related column between those tables. There are predominantly used when a user is
trying to extract data from tables which have one-to-many or many-to-many relationships
between them.
Now, that you know what joins mean, let us next learn the different types of joins.
How many types of Joins are there in SQL?
There are mainly four types of joins that you need to understand. They are:
INNER JOIN
FULL JOIN
LEFT JOIN
RIGHT JOIN
16.
17.
18.
19. INNER JOIN
This type of join returns those records which have matching values in both tables. So, if you
perform an INNER join operation between the Employee table and the Projects table, all
the tuples which have matching values in both the tables will be given as output.
Syntax:
SELECT Table1.Column1,Table1.Column2,Table2.Column1,....
FROM Table1
INNER JOIN Table2
ON Table1.MatchingColumnName = Table2.MatchingColumnName;
SELECT Employee.EmpID, Employee.EmpFname, Employee.EmpLname,
Projects.ProjectID, Projects.ProjectName
FROM Employee
INNER JOIN Projects ON Employee.EmpID=Projects.EmpID;
20.
21. LEFT JOIN
The LEFT JOIN or the LEFT OUTER JOIN returns all the records from the left table and also those
records which satisfy a condition from the right table. Also, for the records having no matching
values in the right table, the output or the result-set will contain the NULL values.
Syntax:
SELECT Table1.Column1,Table1.Column2,Table2.Column1,....
FROM Table1
LEFT JOIN Table2
ON Table1.MatchingColumnName = Table2.MatchingColumnName;
EXAMPLE:
SELECT Employee.EmpFname, Employee.EmpLname, Projects.ProjectID, Projects.ProjectName
FROM Employee
LEFT JOIN
ON Employee.EmpID = Projects.EmpID ;
22.
23. RIGHT JOIN
The RIGHT JOIN or the RIGHT OUTER JOIN returns all the records from the
right table and also those records which satisfy a condition from the left table.
Also, for the records having no matching values in the left table, the output or
the result-set will contain the NULL values.
Syntax:
SELECT Table1.Column1,Table1.Column2,Table2.Column1,....
FROM Table1
RIGHT JOIN Table2
ON Table1.MatchingColumnName = Table2.MatchingColumnName;
25. FULL JOIN
Full Join or the Full Outer Join returns all those records which either have a match in the
left(Table1) or the right(Table2) table.
Syntax:
SELECT Table1.Column1,Table1.Column2,Table2.Column1,....
FROM Table1
FULL JOIN Table2
ON Table1.MatchingColumnName = Table2.MatchingColumnName;
Example:
SELECT Employee.EmpFname, Employee.EmpLname, Projects.ProjectID
FROM Employee
FULL JOIN Projects
ON Employee.EmpID = Projects.EmpID;