Types of SQL Joins Explained with Examples

SQL Joins explained using Sets

Structured Query Language (SQL) is one of the most important and widely used tools for data manipulation. It allows users to interact with databases, query and manipulate data, and create reports. One of SQL’s most important features is its ability to join tables together in order to enrich, compare and analyze related data. In this article, we will discuss the different types of joins available in SQL and provide examples of how each can be used.

What is SQL Join?

SQL Joins are a technique used in Structured Query Language (SQL) to combine two separate tables into a single table. This is done by establishing relationships between the tables based on common fields, such as an ID field or a foreign key field. By joining two tables together, you can create a third table that combines information from both tables, enrich the dataset and creates new insights that would otherwise be impossible to obtain individually.

There are four main types of SQL Joins

  • Inner join
  • Left outer join
  • Right outer join
  • Full outer join

The following picture represents the most simplistic view of understanding SQL Joins. The left represents one table and the right represents another table. Combining two tables’ results can result in a different view of the data. The operation for combining two tables into a third one is called Join. By combining two tables together, the data is enriched as they get merged to have the information on a specific data entity.

SQL Joins explained using Sets

In addition to these four joins, SQL also supports Cross Joins and Self Joins which allow complex data combining operations to be performed quickly and efficiently. Cross Joins allow you to combine every row in one table with every row in another table while Self Joins enable you to join a single table with itself using fields within that same table.

Let’s understand concepts for each of the main SQL joins in a detailed manner.

Inner Join

SQL Inner Join is a type of join operation that combines two tables into one result set. It takes the common information from both tables and returns it in a single row, allowing for more efficient data retrieval. In an inner join, only rows with matching values in both tables will be returned. This is unlike other types of joins such as outer joins, which return all possible matches between the two tables regardless of whether or not they have any common data. The criteria for inner join can be a shared column name between both tables or a predefined condition that must be true for each row returned in the result set.  The following represents an example of SQL inner join:

inner join example

Left Outer Join

Left Outer Join (LOJ) is an important concept in database design and query optimization. It works by matching rows from one table with those from the other and then combining the matches with rows from the left table, which contains all of the rows regardless of whether there are any matches in the other table. For instance, if you have two tables – one containing customer information and another containing product sales information – an LOJ can be used to return all customers as well as any associated sales data. This allows you to get a complete picture of your customers, even if they haven’t made any purchases yet. This type of join is useful because it allows developers to easily retrieve data related to records in one table even if there are no corresponding records in another table. The picture below represents an example of joining two tables based on the left outer join:


Left Outer Join is particularly advantageous when working with multiple tables that have a hierarchical relationship. For example, say you have three tables containing customer information: Customers, Orders, and Order Details. The Customers table contains general customer data such as name and address; the Orders table contains customer orders; and the Order Details table contains information about each order item such as product number, quantity, and price. With Left Outer Join, you can quickly pull all customer-related information into a single result set without needing to query each individual table separately.

In addition to providing an efficient way to combine multiple data sources into a single result set for reporting or analytics purposes, Left Outer Joins can be used for error detection purposes as well. By performing this type of join on two tables, any values that appear in one but not in the other can be quickly identified and addressed if necessary. This makes it easier for developers to catch errors early on before they become bigger problems down the line.

Right Outer Join

Right Outer Join is a type of join used in relational databases that merges two tables and returns all the records from the right table, as well as the matched records from the left table. It is useful when trying to combine data from multiple sources in order to gain a better understanding of how they interact. The following picture provides an example of how the right outer join works.


The syntax for a Right Outer Join involves specifying two tables after the “FROM” statement followed by the “RIGHT OUTER JOIN” clause and then an optional condition on which both tables should match their respective columns after the ON clause. The result set will contain all records from a second (right) table, plus those records that match the given criteria from the first (left) table. Depending on how many tables are involved in the query and their size this can yield more efficient performance than a full outer join since it does not require combining records from multiple tables first before filtering out unnecessary ones.

Full Outer Join

Full Outer Join is a type of join in SQL Join that combines the results of both the left and right outer joins. It includes rows that are present in either one or both of the tables used in the join. The result set contains all joined records, including duplicates. This type of join is useful when we need to find all records from both tables regardless if they have matching data or not. The following picture provides an example of how the full outer join works.


The primary purpose of a full outer join is to identify differences between two sets of data by combining them into one common set. This can be quite useful for comparing large datasets quickly and efficiently. For example, say you have two tables; one containing customer information and the other containing sales information. When using a full outer join, this query will return all customers and their corresponding sales orders if available and also display any customers who do not have any sales orders associated with them as well as any sales orders which do not have an associated customer record.

Full outer join can also help with performance optimization when dealing with large datasets because it only requires reading each table once, rather than multiple times when performing separate inner joins on the same tables. 


SQL Joins are used to connect two or more relational database tables. The main purpose of using SQL joins is to retrieve data from multiple tables and combine it into a single result set. There are four different types of SQL joins: inner join, outer join, left outer join, and right outer join. Each type of join has its own use case. Depending on your particular needs, you will need to choose the right type of SQL joins for your query in order to get the desired results. If you have any questions about which type of SQL join to use in your situation, please reach out for a detailed conversation.

Ajitesh Kumar
Follow me

Ajitesh Kumar

I have been recently working in the area of Data analytics including Data Science and Machine Learning / Deep Learning. I am also passionate about different technologies including programming languages such as Java/JEE, Javascript, Python, R, Julia, etc, and technologies such as Blockchain, mobile computing, cloud-native technologies, application security, cloud computing platforms, big data, etc. For latest updates and blogs, follow us on Twitter. I would love to connect with you on Linkedin. Check out my latest book titled as First Principles Thinking: Building winning products using first principles thinking
Posted in Data, Data analytics, Database. Tagged with , .

Leave a Reply

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

Time limit is exhausted. Please reload the CAPTCHA.