Difference between Natural join and Cross join in SQL

1. Natural Join :
Natural Join joins two tables based on same attribute name and datatypes. The resulting table will contain all the attributes of both the tables but only one copy of each common column.

Example:
Consider the two tables given below:

Student Table



Marks Table

Consider the given query



SELECT * 
FROM Student S NATURAL JOIN Marks M;

Output :



2. Cross Join :
Cross Join will produce cross or Cartesian product of two tables if there is no condition specifies. The resulting table will contain all the attributes of both the tables including duplicate or common columns also.

Example:
Consider the above two tables and the query is given below:

SELECT * 
FROM Student S CROSS JOIN Marks M; 

Output:



Difference between Natural JOIN and CROSS JOIN in SQL

SR.NO. NATURAL JOIN CROSS JOIN
1. Natural Join joins two tables based on same attribute name and datatypes. Cross Join will produce cross or cartesian product of two tables .
2. In Natural Join, The resulting table will contain all the attributes of both the tables but keep only one copy of each common column In Cross Join, The resulting table will contain all the attribute of both the tables including duplicate columns also
3. In Natural Join, If there is no condition specifies then it returns the rows based on the common column In Cross Join, If there is no condition specifies then it returns all possible pairing of rows from both the tables whether they are matched or unmatched
4. SYNTAX:
SELECT * FROM table1 NATURAL JOIN table2;
SYNTAX:
SELECT * FROM table1 CROSS JOIN table2;

Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.