'Return a :class:`.Join` from this :class:`.FromClause`
to another :class:`FromClause`, with the "isouter" flag set to
True.
E.g.::
from sqlalchemy import outerjoin
j = user_table.outerjoin(address_table,
user_table.c.id == address_table.c.user_id)
The above is equivalent to::
j = user_table.join(address_table,
user_table.c.id == address_table.c.user_id, isouter=True)
:param right: the right side of the join; this is any :class:`.FromClause`
object such as a :class:`.Table` object, and may also be a selectable-compatible
object such as an ORM-mapped class.
:param onclause: a SQL expression representing the ON clause of the
join.  If left at ``None``, :meth:`.FromClause.join` will attempt to
join the two tables based on a foreign key relationship.
.. seealso::
:meth:`.FromClause.join`
:class:`.Join`'

def outerjoin(self, right, onclause=None):

    return Join(self, right, onclause, True)
