# Database Discussions > Microsoft Access >  Inner Join vs Outer Join

## gisdude

Could anyone explain what the difference is? What if I have several tables? What circumstances would require one vs the other?

----------


## GolferGuy

Here is a wonderful explanation of inner and outer joins.
http://stackoverflow.com/questions/3...and-outer-join
This answer following is in response to your question that is not obvious in my referenced answer above:
Use the inner join when you only want to see records that have matching records in both tables.  For example, OrderHeader and OrderDetail tables, when all you want to process is orders that have detail records because you are printing a report of items ordered.
Use the outer join when you need to see all the records in one table, and any matching records in the second table.  For example, you need to see all the orders you have, plus any detail from the OrderDetail table.  In a query like this, you can also get a list of OrderHeader records without any matching records in the OrderDetail table.  By using a criterion of "Is Not Null" for the matching field in the OrderDetail table, you would get only records from the OrderHeader table with out a matching record in the OrderDetail table.
Hope this helps.  Be sure to look at the link I provided at the start of this message.

----------


## jporter892

Here is another great, detailed explanation of inner versus outer joins:

Inner vs Outer Joins

Inner joins are basically used to find matching rows between 2 tables, whereas an outer join retains the rows of either table, or both tables - read the link above to help clarify!

----------


## DatabaseKing

Here's an article about using Outer Join to perform not-in queries in Microsoft Access:

http://www.fmsinc.com/MicrosoftAccess/query/outer-join

----------

