Your Page Title
🔍

    SQL JOIN (INNER ,LEFT ,RIGHT , FULL)

    When working with databases, you often need to retrieve data from multiple tables. In SQL (Structured Query Language), a JOIN is used to combine rows from two or more tables based on a related column between them. This related column is usually a primary key in one table and a foreign key in another.

    Why Use SQL JOIN?

    • To fetch data spread across multiple tables.
    • To avoid data duplication in a single table.
    • To create meaningful results by combining related data.

    Basic Syntax of SQL JOIN

    SELECT columns
    FROM table1
    JOIN table2
    ON table1.column_name = table2.column_name;

    Types of SQL JOIN

    SQL JOINs are mainly classified into INNER JOIN, LEFT JOIN, RIGHT JOIN, and FULL JOIN. Let’s explore each.


    1. INNER JOIN

    Definition:
    Returns only the rows that have matching values in both tables. Rows without a match are excluded.

    Example:
    We have two tables:
    Customers

    CustomerIDName
    1Kirti
    2Riya
    3Rohit

    Orders

    OrderIDCustomerIDProduct
    1011Book
    1022Pen

    Query:

    SELECT Customers.Name, Orders.Product
    FROM Customers
    INNER JOIN Orders
    ON Customers.CustomerID = Orders.CustomerID;

    Result:

    NameProduct
    KirtiBook
    RiyaPen

    2. LEFT JOIN (or LEFT OUTER JOIN)

    Definition:
    Returns all rows from the left table and the matched rows from the right table. If there is no match, NULL is returned for right table columns.

    Example Query:

    SELECT Customers.Name, Orders.Product
    FROM Customers
    LEFT JOIN Orders
    ON Customers.CustomerID = Orders.CustomerID;

    Result:

    NameProduct
    KirtiBook
    RiyaPen
    RohitNULL

    3. RIGHT JOIN (or RIGHT OUTER JOIN)

    Definition:
    Returns all rows from the right table and the matched rows from the left table. If there is no match, NULL is returned for left table columns.

    Example Query:

    SELECT Customers.Name, Orders.Product
    FROM Customers
    RIGHT JOIN Orders
    ON Customers.CustomerID = Orders.CustomerID;

    Result:

    NameProduct
    KirtiBook
    RiyaPen

    (If an order exists without a customer, it will also appear with NULL in Name.)


    4. FULL JOIN (or FULL OUTER JOIN)

    Definition:
    Returns all rows when there is a match in either left or right table. Rows without a match in either table will have NULL in the columns of the other table.

    Note: Some databases like MySQL do not support FULL JOIN directly. You can achieve it using UNION of LEFT JOIN and RIGHT JOIN.

    Example Query:

    SELECT Customers.Name, Orders.Product
    FROM Customers
    FULL JOIN Orders
    ON Customers.CustomerID = Orders.CustomerID;

    Quick Comparison Table

    JOIN TypeReturns
    INNER JOINOnly matching rows from both tables
    LEFT JOINAll rows from left table + matching from right
    RIGHT JOINAll rows from right table + matching from left
    FULL JOINAll rows from both tables

    Summary

    • JOIN in SQL helps to fetch data from multiple tables using related columns.
    • Choose INNER JOIN when you need only matching data.
    • Choose LEFT JOIN when you need all data from the left table.
    • Choose RIGHT JOIN when you need all data from the right table.
    • Choose FULL JOIN when you need all data from both tables, whether matched or not.

    By understanding these types, you can create more powerful and meaningful SQL queries for your projects.

    Leave a Reply

    Your email address will not be published. Required fields are marked *