First to define what Inner Join and Outer Join mean.
Inner Join:
A join between two tables were only those records in both tables that meet the conditions of the join expression are returned. In most instances a inner join is a equi-join based on the Primary Key/Foreign Keys common to both tables, however this is not always the case, since additional conditions may be added to the join express to filter the records returned from both tables. While any relational comparison operator can be used ("=", "<", ">", "<=", ">=", or "<>") to join the tables, the only meaningful operators is that sub-set of operators ("=" and "<>") that can be expressed on the Primary Key/Foreign Keys common to both tables (i.e. .PK <= .PK would not make any sense in a RDBMS). The supplement of logic operators ("and" & "or") can be used to enhance the join condition with additional logical conditional expressions, and thus filter the records returned common to both tables.
Outer Join:
A join between two tables were there is no requirement that each record in the joined tables to have a match. Additionally, Outer Joins are subdivided into "Left Outer", "Right Outer", and "Full Outer".
Inner join and Outer join
Related Answered Questions
Related Open Questions