top of page

Welcome
to NumpyNinja Blogs

NumpyNinja: Blogs. Demystifying Tech,

One Blog at a Time.
Millions of views. 

Understanding the Difference Between INNER JOIN and INTERSECT in SQL 

In SQL, both INNER JOIN and INTERSECT are commonly used to identify matching data across two tables. While they may seem similar  they function  differently and has  different purposes. 


 

What is INNER JOIN? 

  • An INNER JOIN retrieves records from two (or more) tables based on a specified join condition, usually a common column.  

  • Duplicates: It can return duplicate rows if there are matching values and can appear multiple times. 

  • Requires a join condition (matching  column between  the tables). 

 

What is INTERSECT? 

INTERSECT is a set operator that returns only the distinct rows that appear in both result sets

  • Duplicates: Automatically removes duplicates

  • No join condition needed. 

  • Requires the same number and type of columns in both SELECT statements. 


Let’s explore their differences through two simple tables. 


Table 1 : EMPL has 1 column id1 with 7 records - 1, 1, 1, 2, 2, 3, NULL


ree

 

Table 2 : EMP has 1 column id2 with 6 records - 1, 1, 2, 2, 4 , NULL


ree


INNER JOIN SQL QUERY



ree


INTERSECT SQL QUERY


ree


EXPLANATION:


INNER JOIN : 1 is displayed 3 and 2 times in EMPL Table and EMP table, so i becomes 3 times 2 which is 6. Like wise all the other records are compared. It results in all the combinations from both the tables which results in the duplicates.


INTERSECT : This displays only common records from both the tables and excludes duplicates.


Note : NULL does not any value so NULL cannot be compared with other NULL .So they are ignored.


ree


CONLCUSION :


INNER JOIN and INTERSECT both help to find common data, but work differently.

  • INNER JOIN combines rows based on a matching column and can return duplicates.

  • INTERSECT returns only the distinct rows that appear in both result sets.

Use INNER JOIN when you need to pull related data from multiple tables.Use INTERSECT when you just want the common values without duplicates.













 
 

+1 (302) 200-8320

NumPy_Ninja_Logo (1).png

Numpy Ninja Inc. 8 The Grn Ste A Dover, DE 19901

© Copyright 2025 by Numpy Ninja Inc.

  • Twitter
  • LinkedIn
bottom of page