The keyword inner and outer are optional since the rest of the join type enables us to deduce whether the join is an inner join or an outer join.
SQL-92 also provides two other join types:
The use of join condition is mandatory for outer joins, but is optional for inner joins (if it is omitted, a Cartesian product results).
loan natural full outer join borrower
Figure 4.5: Result of loan natural full outer join borrower using (loan#).
from (natural full outer join borrower)
where account# is null or loan# is null