Database Management Systems (2130703)

BE | Semester-3   Summer-2018 | 05/23/2018

Q2) (c) 

Explain different types of outer join with example.

A SQL Join statement is used to combine data or rows from two or more tables based on a common field between them. Different types of Joins are:

INNER JOIN:

  • The INNER JOIN keyword selects all rows from both the tables as long as the condition satisfies.
  • This keyword will create the result-set by combining all rows from both the tables where the condition satisfies i.e value of the common field will be same.

Syntax:

 SELECT table1.column1,table1.column2,table2.column1,....
 FROM table1
 INNER JOIN table2
 ON table1.matching_column = table2.matching_column;

Example:

 SELECT StudentCourse.COURSE_ID, Student.NAME, Student.AGE
 FROM Student
 INNER JOIN StudentCourse
 ON Student.ROLL_NO = StudentCourse.ROLL_NO;

LEFT JOIN:

  • This join returns all the rows of the table on the left side of the join and matching rows for the table on the right side of join.
  • The rows for which there is no matching row on right side, the result-set will contain null.
  • LEFT JOIN is also known as LEFT OUTER JOIN.

Syntax:

 SELECT table1.column1,table1.column2,table2.column1,....
 FROM table1
 LEFT JOIN table2
 ON table1.matching_column = table2.matching_column;

Example:

 SELECT Student.NAME,StudentCourse.COURSE_ID
 FROM Student
 LEFT JOIN StudentCourse
 ON StudentCourse.ROLL_NO = Student.ROLL_NO;

RIGHT JOIN:

  • RIGHT JOIN is similar to LEFT JOIN.
  • This 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 join.
  • The rows for which there is no matching row on left side, the result-set will contain null.
  • RIGHT JOIN is also known as RIGHT OUTER JOIN.

Syntax:

 SELECT table1.column1,table1.column2,table2.column1,....
 FROM table1
 RIGHT JOIN table2
 ON table1.matching_column = table2.matching_column;

Example:

 SELECT Student.NAME,StudentCourse.COURSE_ID
 FROM Student
 RIGHT JOIN StudentCourse
 ON StudentCourse.ROLL_NO = Student.ROLL_NO;

FULL JOIN:

  • FULL JOIN creates the result-set by combining result of both LEFT JOIN and RIGHT JOIN.
  • The result-set will contain all the rows from both the tables.
  • The rows for which there is no matching, the result-set will contain NULL values.

Syntax:

 SELECT table1.column1,table1.column2,table2.column1,....
 FROM table1
 FULL JOIN table2
 ON table1.matching_column = table2.matching_column;

Example:

 SELECT Student.NAME,StudentCourse.COURSE_ID
 FROM Student
 FULL JOIN StudentCourse
 ON StudentCourse.ROLL_NO = Student.ROLL_NO;