Sql is the language where a lot of data can be get with different logic. In an enterprise environment we may need to use complex SQL queries to get meaningful data. Inner is one of the logic where we join two tables with different magic.
Example Tables
In order to understand Inner and Outer Joins we will use following example tables with their data. We will use two tables those named Personels
and Persons
MariaDB [test]> SELECT LastName FROM Personels; +----------+ | LastName | +----------+ | C | | D | | E | +----------+ 3 rows in set (0.00 sec)
MariaDB [test]> SELECT LastName FROM Persons; +----------+ | LastName | +----------+ | A | | B | | C | | NULL | +----------+ 4 rows in set (0.00 sec)
Inner Join
If we inner join Persons with Personels we will get only intersection of the given fields. In this example we want to get the LastName
column intersection in two tables Persons
and Personels
.
> SELECT Persons.LastName FROM Persons INNER JOIN Personels on Persons.LastName = Personels.LastName; +----------+ | LastName | +----------+ | C | +----------+ 1 row in set (0.00 sec)
Right Outer Join
The right outer join will return all entries in left table and
> SELECT Persons.LastName FROM Persons RIGHT OUTER JOIN Personels on Persons.LastName = Personels.LastName; +----------+ | LastName | +----------+ | C | | NULL | | NULL | +----------+ 3 rows in set (0.00 sec)
Left Outer Join
> SELECT Persons.LastName FROM Persons LEFT OUTER JOIN Personels on Persons.LastName = Personels.LastName; +----------+ | LastName | +----------+ | C | | A | | B | | NULL | +----------+ 4 rows in set (0.00 sec)
What is The Difference Between Inner and Outer Join? Infografic
