Download as pdf or txt
Download as pdf or txt
You are on page 1of 14

6/18/23, 6:48 PM SQL | Join (Inner, Left, Right and Full Joins) - GeeksforGeeks

Engineering Mathematics Discrete Mathematics Digital Logic and Design Computer Organization and A

SQL | Join (Inner, Left, Right and Full Joins)

Read Discuss Courses Practice Video

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 as follows:

INNER JOIN
LEFT JOIN
RIGHT JOIN
FULL JOIN
NATURAL JOIN

Consider the two tables below as follows:

Student

StudentCourse

https://www.geeksforgeeks.org/sql-join-set-1-inner-left-right-and-full-joins/ 1/14
6/18/23, 6:48 PM SQL | Join (Inner, Left, Right and Full Joins) - GeeksforGeeks

The simplest Join is INNER JOIN.

A. INNER JOIN

The INNER JOIN keyword selects all rows from both the tables as long as the
condition is satisfied. 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 the same.

Syntax:

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

table1: First table.


table2: Second table
matching_column: Column common to both the tables.

Note: We can also write JOIN instead of INNER JOIN. JOIN is same as INNER
JOIN.

https://www.geeksforgeeks.org/sql-join-set-1-inner-left-right-and-full-joins/ 2/14
6/18/23, 6:48 PM SQL | Join (Inner, Left, Right and Full Joins) - GeeksforGeeks

Example Queries(INNER JOIN)

This query will show the names and age of students enrolled in different courses.

SELECT StudentCourse.COURSE_ID, Student.NAME, Student.AGE FROM Student


INNER JOIN StudentCourse
ON Student.ROLL_NO = StudentCourse.ROLL_NO;

Output:

B. LEFT JOIN

This 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

https://www.geeksforgeeks.org/sql-join-set-1-inner-left-right-and-full-joins/ 3/14
6/18/23, 6:48 PM SQL | Join (Inner, Left, Right and Full Joins) - GeeksforGeeks

matching row on the 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;

table1: First table.


table2: Second table
matching_column: Column common to both the tables.

Note: We can also use LEFT OUTER JOIN instead of LEFT JOIN, both are the
same.

Example Queries(LEFT JOIN):

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

https://www.geeksforgeeks.org/sql-join-set-1-inner-left-right-and-full-joins/ 4/14
6/18/23, 6:48 PM SQL | Join (Inner, Left, Right and Full Joins) - GeeksforGeeks

Output:

C. 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 the 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.

Syntax:

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

table1: First table.


table2: Second table
matching_column: Column common to both the tables.

Note: We can also use RIGHT OUTER JOIN instead of RIGHT JOIN, both are
the same.

https://www.geeksforgeeks.org/sql-join-set-1-inner-left-right-and-full-joins/ 5/14
6/18/23, 6:48 PM SQL | Join (Inner, Left, Right and Full Joins) - GeeksforGeeks

Example Queries(RIGHT JOIN):

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

Output:

https://www.geeksforgeeks.org/sql-join-set-1-inner-left-right-and-full-joins/ 6/14
6/18/23, 6:48 PM SQL | Join (Inner, Left, Right and Full Joins) - GeeksforGeeks

D. 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.

Syntax:

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

table1: First table.


table2: Second table
matching_column: Column common to both the tables.

Example Queries(FULL JOIN):

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

Output:

https://www.geeksforgeeks.org/sql-join-set-1-inner-left-right-and-full-joins/ 7/14
6/18/23, 6:48 PM SQL | Join (Inner, Left, Right and Full Joins) - GeeksforGeeks

NAME COURSE_ID

HARSH 1

PRATIK 2

RIYANKA 2

DEEP 3

SAPTARHI 1

DHANRAJ NULL

ROHIT NULL

NIRAJ NULL

NULL 4

NULL 5

NULL 4

Left JOIN (Video)


Right JOIN (Video)
Full JOIN (Video)
SQL | JOIN (Cartesian Join, Self Join)

E. Natural join (⋈)

https://www.geeksforgeeks.org/sql-join-set-1-inner-left-right-and-full-joins/ 8/14
6/18/23, 6:48 PM SQL | Join (Inner, Left, Right and Full Joins) - GeeksforGeeks

Natural join can join tables based on the common columns in the tables being
joined. A natural join returns all rows by matching values in common columns
having same name and data type of columns and that column should be present in
both tables.

Both table must have at list one common column with same column name and
same data type.

The two table are joined using Cross join.

DBMS will look for a common column with same name and data type Tuples having
exactly same values in common columns are kept in result.

Example:

Employee

Emp_id Emp_name Dept_id

1 Ram 10

2 Jon 30

3 Bob 50

Department

Dept_id Dept_name

10 IT

30 HR
40 TIS

Query: Find all Employees and their respective departments.

Solution: (Employee) ⋈ (Department)

https://www.geeksforgeeks.org/sql-join-set-1-inner-left-right-and-full-joins/ 9/14
6/18/23, 6:48 PM SQL | Join (Inner, Left, Right and Full Joins) - GeeksforGeeks

Emp_id Emp_name Dept_id Dept_id Dept_name

1 Ram 10 10 IT

2 Jon 30 30 HR

Employee data Department data

This article is contributed by Harsh Agarwal. If you like GeeksforGeeks and would
like to contribute, you can also write an article using write.geeksforgeeks.org or
mail your article to review-team@geeksforgeeks.org. See your article appearing on
the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or if you want to share more
information about the topic discussed above.

Last Updated : 24 Apr, 2023 324

Similar Reads
1. Full join and Inner join in MS SQL Server

2. SQL Full Outer Join Using Left and Right Outer Join and Union Clause

3. Difference between Inner Join and Outer Join in SQL

4. Difference between Natural join and Inner Join in SQL

5. Left join and Right join in MS SQL Server

6. SQL | Join (Cartesian Join & Self Join)

7. Difference between “INNER JOIN” and “OUTER JOIN”

8. Join Multiple Tables Using Inner Join

9. Inner Join vs Outer Join

https://www.geeksforgeeks.org/sql-join-set-1-inner-left-right-and-full-joins/ 10/14
6/18/23, 6:48 PM SQL | Join (Inner, Left, Right and Full Joins) - GeeksforGeeks

10. Difference between Left, Right and Full Outer Join

Previous Next

Article Contributed By :

GeeksforGeeks

Vote for difficulty


Current difficulty : Easy

Easy Normal Medium Hard Expert

Improved By : dt_kanha, navinpatnacitynav, laxmishinde5t82

Article Tags : DBMS-Join, SQL-Clauses-Operators, Articles, DBMS, SQL

Practice Tags : DBMS, SQL

Improve Article Report Issue

A-143, 9th Floor, Sovereign Corporate


Tower, Sector-136, Noida, Uttar Pradesh -
201305

feedback@geeksforgeeks.org

Company Explore

About Us Job Fair For Students

https://www.geeksforgeeks.org/sql-join-set-1-inner-left-right-and-full-joins/ 11/14
6/18/23, 6:48 PM SQL | Join (Inner, Left, Right and Full Joins) - GeeksforGeeks

Legal POTD: Revamped

Careers Python Backend LIVE

In Media Android App Development

Contact Us DevOps LIVE

Advertise with us DSA in JavaScript

Languages Data Structures

Python Array

Java String

C++ Linked List

PHP Stack

GoLang Queue

SQL Tree

R Language Graph

Android Tutorial

Algorithms Web Development

Sorting HTML

Searching CSS

Greedy JavaScript

Dynamic Programming Bootstrap

Pattern Searching ReactJS

Recursion AngularJS

Backtracking NodeJS

Computer Science Python


GATE CS Notes Python Programming Examples

Operating Systems Django Tutorial

Computer Network Python Projects

Database Management System Python Tkinter

Software Engineering OpenCV Python Tutorial

Digital Logic Design Python Interview Question

Engineering Maths

Data Science & ML DevOps

https://www.geeksforgeeks.org/sql-join-set-1-inner-left-right-and-full-joins/ 12/14
6/18/23, 6:48 PM SQL | Join (Inner, Left, Right and Full Joins) - GeeksforGeeks

Data Science With Python Git

Data Science For Beginner AWS

Machine Learning Tutorial Docker

Maths For Machine Learning Kubernetes

Pandas Tutorial Azure

NumPy Tutorial GCP

NLP Tutorial

Deep Learning Tutorial

Competitive Programming System Design

Top DSA for CP What is System Design

Top 50 Tree Problems Monolithic and Distributed SD

Top 50 Graph Problems Scalability in SD

Top 50 Array Problems Databases in SD

Top 50 String Problems High Level Design or HLD

Top 50 DP Problems Low Level Design or LLD

Top 15 Websites for CP Top SD Interview Questions

Interview Corner GfG School

Company Preparation CBSE Notes for Class 8

Preparation for SDE CBSE Notes for Class 9

Company Interview Corner CBSE Notes for Class 10

Experienced Interview CBSE Notes for Class 11

Internship Interview CBSE Notes for Class 12

Competitive Programming English Grammar

Aptitude

Commerce UPSC

Accountancy Polity Notes

Business Studies Geography Notes

Microeconomics History Notes

Macroeconomics Science and Technology Notes

Statistics for Economics Economics Notes

Indian Economic Development Important Topics in Ethics

Income Tax UPSC Previous Year Papers

https://www.geeksforgeeks.org/sql-join-set-1-inner-left-right-and-full-joins/ 13/14
6/18/23, 6:48 PM SQL | Join (Inner, Left, Right and Full Joins) - GeeksforGeeks

Management

SSC/ BANKING Write & Earn

SSC CGL Syllabus Write an Article

SBI PO Syllabus Improve an Article

SBI Clerk Syllabus Pick Topics to Write

IBPS PO Syllabus Write Interview Experience

IBPS Clerk Syllabus Internships

Aptitude Questions Video Internship

SSC CGL Practice Papers

@geeksforgeeks , Some rights reserved

https://www.geeksforgeeks.org/sql-join-set-1-inner-left-right-and-full-joins/ 14/14

You might also like