DBMS Experiment-4
DBMS Experiment-4
Sql joins clause is used to query and access data from multiple tables by establishing logical
relationships between them. It can access data from multiple tables simultaneously using common
key values shared across different tables.
Consider the two tables, Student and StudentCourse, which share a common column ROLL_NO.
Using SQL JOINS, we can combine data from these tables based on their relationship.
Student Table :
Both these tables are connected by one common key (column) i.e ROLL_NO.
Query:
The INNER JOIN keyword selects all rows from both the tables as long as the condition is satisfied.
Syntax
SELECT table1.column1,table1.column2,table2.column1,....
FROM table1
INNER JOIN table2
ON table1.matching_column = table2.matching_column;
Query:
Output
2. SQL LEFT JOIN
LEFT JOIN returns all the rows of the table on the left side of the join and matches rows for the table
on the right side of the join. For the rows for which there is no matching row on the right side, the
result-set will contain null. LEFT JOIN is also known as LEFT OUTER JOIN.
In this example, the LEFT JOIN retrieves all rows from the Student table and the matching rows from
the StudentCourse table based on the ROLL_NO column.
Query:
SELECT Student.NAME,StudentCourse.COURSE_ID
FROM Student
LEFT JOIN StudentCourse
ON StudentCourse.ROLL_NO = Student.ROLL_NO;
Output
RIGHT JOIN returns all the rows of the table on the right side of the join and matching rows for the
table on the left side of the join. It is very similar to LEFT JOIN for the rows for which there is no
matching row on the left side, the result-set will contain null. RIGHT JOIN is also known as RIGHT
OUTER JOIN.
In this example, the RIGHT JOIN retrieves all rows from the StudentCourse table and the matching
rows from the Student table based on the ROLL_NO column.
Query:
SELECT Student.NAME,StudentCourse.COURSE_ID
FROM Student
RIGHT JOIN StudentCourse
ON StudentCourse.ROLL_NO = Student.ROLL_NO;
Output
4. SQL FULL JOIN
FULL JOIN creates the result-set by combining results of both LEFT JOIN and RIGHT JOIN. The result-
set will contain all the rows from both tables. For the rows for which there is no matching, the result-
set will contain NULL values.
Query:
SELECT Student.NAME,StudentCourse.COURSE_ID
FROM Student
FULL JOIN StudentCourse
ON StudentCourse.ROLL_NO = Student.ROLL_NO;
COURSE_I
NAME D
HARSH 1
PRATIK 2
RIYANKA 2
DEEP 3
SAPTAR
1
HI
COURSE_I
NAME D
DHANRA
NULL
J
ROHIT NULL
NIRAJ NULL
NULL 4
NULL 5
NULL 4