@_generative(_no_clauseelement_condition)
def select_from(self, *from_obj):
    'Set the FROM clause of this :class:`.Query` explicitly.\n\n        :meth:`.Query.select_from` is often used in conjunction with\n        :meth:`.Query.join` in order to control which entity is selected\n        from on the "left" side of the join.\n\n        The entity or selectable object here effectively replaces the\n        "left edge" of any calls to :meth:`~.Query.join`, when no\n        joinpoint is otherwise established - usually, the default "join\n        point" is the leftmost entity in the :class:`~.Query` object\'s\n        list of entities to be selected.\n\n        A typical example::\n\n            q = session.query(Address).select_from(User).\\\n                join(User.addresses).\\\n                filter(User.name == \'ed\')\n\n        Which produces SQL equivalent to::\n\n            SELECT address.* FROM user\n            JOIN address ON user.id=address.user_id\n            WHERE user.name = :name_1\n\n        :param \\*from_obj: collection of one or more entities to apply\n         to the FROM clause.  Entities can be mapped classes,\n         :class:`.AliasedClass` objects, :class:`.Mapper` objects\n         as well as core :class:`.FromClause` elements like subqueries.\n\n        .. versionchanged:: 0.9\n            This method no longer applies the given FROM object\n            to be the selectable from which matching entities\n            select from; the :meth:`.select_entity_from` method\n            now accomplishes this.  See that method for a description\n            of this behavior.\n\n        .. seealso::\n\n            :meth:`~.Query.join`\n\n            :meth:`.Query.select_entity_from`\n\n        '
    self._set_select_from(from_obj, False)
Set the FROM clause of this :class:`.Query` explicitly.

:meth:`.Query.select_from` is often used in conjunction with
:meth:`.Query.join` in order to control which entity is selected
from on the "left" side of the join.

The entity or selectable object here effectively replaces the
"left edge" of any calls to :meth:`~.Query.join`, when no
joinpoint is otherwise established - usually, the default "join
point" is the leftmost entity in the :class:`~.Query` object's
list of entities to be selected.

A typical example::

    q = session.query(Address).select_from(User).\
        join(User.addresses).\
        filter(User.name == 'ed')

Which produces SQL equivalent to::

    SELECT address.* FROM user
    JOIN address ON user.id=address.user_id
    WHERE user.name = :name_1

:param \*from_obj: collection of one or more entities to apply
 to the FROM clause.  Entities can be mapped classes,
 :class:`.AliasedClass` objects, :class:`.Mapper` objects
 as well as core :class:`.FromClause` elements like subqueries.

.. versionchanged:: 0.9
    This method no longer applies the given FROM object
    to be the selectable from which matching entities
    select from; the :meth:`.select_entity_from` method
    now accomplishes this.  See that method for a description
    of this behavior.

.. seealso::

    :meth:`~.Query.join`

    :meth:`.Query.select_entity_from`
@_generative(_no_clauseelement_condition)
def select_from(self, *from_obj):
    'Set the FROM clause of this :class:`.Query` explicitly.\n\n        :meth:`.Query.select_from` is often used in conjunction with\n        :meth:`.Query.join` in order to control which entity is selected\n        from on the "left" side of the join.\n\n        The entity or selectable object here effectively replaces the\n        "left edge" of any calls to :meth:`~.Query.join`, when no\n        joinpoint is otherwise established - usually, the default "join\n        point" is the leftmost entity in the :class:`~.Query` object\'s\n        list of entities to be selected.\n\n        A typical example::\n\n            q = session.query(Address).select_from(User).\\\n                join(User.addresses).\\\n                filter(User.name == \'ed\')\n\n        Which produces SQL equivalent to::\n\n            SELECT address.* FROM user\n            JOIN address ON user.id=address.user_id\n            WHERE user.name = :name_1\n\n        :param \\*from_obj: collection of one or more entities to apply\n         to the FROM clause.  Entities can be mapped classes,\n         :class:`.AliasedClass` objects, :class:`.Mapper` objects\n         as well as core :class:`.FromClause` elements like subqueries.\n\n        .. versionchanged:: 0.9\n            This method no longer applies the given FROM object\n            to be the selectable from which matching entities\n            select from; the :meth:`.select_entity_from` method\n            now accomplishes this.  See that method for a description\n            of this behavior.\n\n        .. seealso::\n\n            :meth:`~.Query.join`\n\n            :meth:`.Query.select_entity_from`\n\n        '
    self._set_select_from(from_obj, False)