SQL Joins
SQL Joins
There are four basic types of SQL joins: inner, left, right, and full. The easiest and most intuitive way to
explain the difference between these four types is by using a Venn diagram, which shows all possible
logical relations between data sets.
Let’s say we have two sets of data in our relational database: table A and table B, with some sort of
relation specified by primary and foreign keys. The result of joining these tables together can be visually
represented by the following diagram:
INNER JOIN
SELECT column_name(s)
FROM table1
INNER JOIN table2 ON table1.column_name = table2.column_name;
FROM Orders
SELECT column_name(s)
FROM table1
LEFT JOIN table2 ON table1.column_name = table2.column_name;
SELECT column_name(s)
FROM table1
RIGHT JOIN table2 ON table1.column_name = table2.column_name;
B
AB
Retrieved Result
Inner join Query
SELECT A.A_Name,B.B_Subject
FROM B
INNER JOIN
AB
ON
AB.B_ID = B.B_ID
INNER JOIN
A
ON
AB.A_ID = A.A_ID
Retrieved Result
Retrieved Result
Left join with inner join Query
SELECT A.A_Name,AB.B_ID
FROM A
Left JOIN
AB
ON
AB.A_ID = A.A_ID
Inner join
B ON B.B_ID = AB.B_ID
Retrieved Result
Retrieved Result
Left join with left join Query
SELECT A.A_Name,AB.B_ID
FROM A
Left JOIN
AB
ON
AB.A_ID = A.A_ID
left join
B
ON
B.B_ID = AB.B_ID
Retrieved Result
Retrieved Result
Retrieved Result
Retrieved Result
SELECT A.A_Name,AB.B_ID
FROM A
Left JOIN
AB
ON
AB.A_ID = A.A_ID
where AB.A_ID IS NULL
SELECT AB.A_ID,B.B_Subject
FROM AB Right JOIN
B ON AB.B_ID = B.B_ID
where AB.A_ID IS NULL