parameters: (self, *fromclauses)
docstring: r"""return a new :class:`.Select` which will correlate the given FROM
          clauses to that of an enclosing :class:`.Select`.
  
          Calling this method turns off the :class:`.Select` object's
          default behavior of "auto-correlation".  Normally, FROM elements
          which appear in a :class:`.Select` that encloses this one via
          its :term:`WHERE clause`, ORDER BY, HAVING or
          :term:`columns clause` will be omitted from this :class:`.Select`
          object's :term:`FROM clause`.
          Setting an explicit correlation collection using the
          :meth:`.Select.correlate` method provides a fixed list of FROM objects
          that can potentially take place in this process.
  
          When :meth:`.Select.correlate` is used to apply specific FROM clauses
          for correlation, the FROM elements become candidates for
          correlation regardless of how deeply nested this :class:`.Select`
          object is, relative to an enclosing :class:`.Select` which refers to
          the same FROM object.  This is in contrast to the behavior of
          "auto-correlation" which only correlates to an immediate enclosing
          :class:`.Select`.   Multi-level correlation ensures that the link
          between enclosed and enclosing :class:`.Select` is always via
          at least one WHERE/ORDER BY/HAVING/columns clause in order for
          correlation to take place.
  
          If ``None`` is passed, the :class:`.Select` object will correlate
          none of its FROM entries, and all will render unconditionally
          in the local FROM clause.
  
          :param \*fromclauses: a list of one or more :class:`.FromClause`
           constructs, or other compatible constructs (i.e. ORM-mapped
           classes) to become part of the correlate collection.
  
          .. seealso::
  
              :meth:`.Select.correlate_except`
  
              :ref:`correlated_subqueries`
docstring_summary: r"""return a new :class:`.Select` which will correlate the given FROM
          clauses to that of an enclosing :class:`.Select`.
docstring_tokens: r return a new : class : . Select which will correlate the given FROM clauses to that of an enclosing : class : . Select .
function: def correlate(self, *fromclauses):
          r"""return a new :class:`.Select` which will correlate the given FROM
          clauses to that of an enclosing :class:`.Select`.
  
          Calling this method turns off the :class:`.Select` object's
          default behavior of "auto-correlation".  Normally, FROM elements
          which appear in a :class:`.Select` that encloses this one via
          its :term:`WHERE clause`, ORDER BY, HAVING or
          :term:`columns clause` will be omitted from this :class:`.Select`
          object's :term:`FROM clause`.
          Setting an explicit correlation collection using the
          :meth:`.Select.correlate` method provides a fixed list of FROM objects
          that can potentially take place in this process.
  
          When :meth:`.Select.correlate` is used to apply specific FROM clauses
          for correlation, the FROM elements become candidates for
          correlation regardless of how deeply nested this :class:`.Select`
          object is, relative to an enclosing :class:`.Select` which refers to
          the same FROM object.  This is in contrast to the behavior of
          "auto-correlation" which only correlates to an immediate enclosing
          :class:`.Select`.   Multi-level correlation ensures that the link
          between enclosed and enclosing :class:`.Select` is always via
          at least one WHERE/ORDER BY/HAVING/columns clause in order for
          correlation to take place.
  
          If ``None`` is passed, the :class:`.Select` object will correlate
          none of its FROM entries, and all will render unconditionally
          in the local FROM clause.
  
          :param \*fromclauses: a list of one or more :class:`.FromClause`
           constructs, or other compatible constructs (i.e. ORM-mapped
           classes) to become part of the correlate collection.
  
          .. seealso::
  
              :meth:`.Select.correlate_except`
  
              :ref:`correlated_subqueries`
  
          """
  
          self._auto_correlate = False
          if fromclauses and fromclauses[0] is None:
              self._correlate = ()
          else:
              self._correlate = set(self._correlate).union(
                  coercions.expect(roles.FromClauseRole, f) for f in fromclauses
              )
function_tokens: def correlate ( self , * fromclauses ) : self . _auto_correlate = False if fromclauses and fromclauses [ 0 ] is None : self . _correlate = ( ) else : self . _correlate = set ( self . _correlate ) . union ( coercions . expect ( roles . FromClauseRole , f ) for f in fromclauses )