Javatpoint Logo
Javatpoint Logo

Inner join vs outer join


SQL (Structured Query Language) is essential for extracting and modifying data in relational databases. Situations arise frequently when working with many tables where data needs to be integrated depending on specific criteria. SQL joins are useful in this situation because they let users combine data from several tables. Two basic SQL join types stand out among the others: inner join and outer join.

Inner Join

Using an inner join, records are chosen from two tables according to a predetermined criterion, usually including a shared column. By retaining just the rows that meet the join requirement, unmatched data from both tables are filtered out.

Think of the Departments and Employees tables. While the later maintains facts about departments, including names and IDs, the former provides information about employees, including their IDs, names, & department IDs. A dataset containing only employees connected to active departments might be obtained by performing an inner join on the Employees and Departments tables using the shared column DepartmentID.Inner join performs best in situations when exact data alignment is critical. It enables targeted analysis and efficient data processing by just keeping matching records.

Example: Inner Join

Consider two tables: Employees and Departments.

Employees Table

ID Name DepartmentID
1 John 101
2 Alice 102
3 Bob 101
4 Sarah 103

Departments Table

DepartmentID DepartmentName
101 Sales
102 Marketing
104 HR



ID Name DepartmentName
1 John Sales
2 Alice Marketing
3 Bob Sales

Outer Join

In contrast to the discriminating character of inner join, outside join welcomes diversity and ensures that no data is lost. Three different types are available: full outer join, right outer join, and left outer join. With differing levels of comprehensiveness in data merging, each version meets distinct needs.

Left Outer Join: Whether or whether there are equivalent entries in the right table, all records from the left table-the first table mentioned in the join-are kept in a left outer join. In the resulting dataset, NULL values are appended to the unmatched entries found in the right table.

Right Outer Join: On the other hand, a right outer join fills in NULL values for records that do not match while keeping all records from the right table and incorporating matching data from the left table.

Full Outer Join: The broadest of the three, a complete outer join combines information from both tables, including all records, regardless of whether they match. To preserve data integrity, matching items are aligned when they exist; otherwise, NULL values are introduced.

Imagine the following situation: the HR department of a corporation wants to create an extensive roster of all the departments and people that work for it, including both aligned and unaligned entries. By using a full outer join, you can view the organizational structure holistically and make sure that every department or person is noticed.

Example: Outer Join

Examine the identical Employees and Departments tables as previously.

Let's say that you wish to obtain a list of every employee, irrespective of their departmental assignment. To implement this, a left outer join would be used to guarantee that all workers are kept on, even in cases when they don't have a corresponding department.



ID Name DepartmentName
1 John Sales
2 Alice Marketing
3 Bob Sales
4 Sarah NULL

Differences between inner join and outer join

Aspect Inner Join Outer Join
Inclusivity Only chooses records from both tables that match. Keeps every record-including mismatched records with NULL values from at least one table.
Result Content Only includes records that meet the requirements for joining. Include, depending on the type of outer join, mismatched records from either or both tables.
Use Cases Ideal for exact data alignment when records that don't match are not needed. Perfect for situations where thorough data aggregation is necessary, allowing for mismatched entries.
Types A single type of join. Includes variations for the left, right, and entire outer join, providing varying degrees of inclusion.
Handling NULLs Does not add NULL values to the set of results. Introduces NULL values for table(s) fields where there are no records that match.
Data Integrity This could result in insufficient insights if there are a lot of unmatched records. Guarantees that no information is missed and upholds data integrity even in cases where records are mismatched.


SQL joins are essential tools in the constantly changing field of data analysis and management because they may bring diverse datasets together. Despite having different approaches and levels of inclusivity, inner join and outside join are equally important to the data integration process. Outer join embraces inclusivity, allowing unmatched entries to provide thorough data aggregation, whereas inner join excels in precision by maintaining matched records. SQL users may unleash the full power of their data and spur insights and creativity across a wide range of domains by wisely utilizing various join types based on contextual requirements.

Youtube For Videos Join Our Youtube Channel: Join Now


Help Others, Please Share

facebook twitter pinterest

Learn Latest Tutorials


Trending Technologies

B.Tech / MCA