class documentation

class CTE(roles.DMLTableRole, roles.IsCTERole, Generative, HasPrefixes, HasSuffixes, AliasedReturnsRows):

View In Hierarchy

Represent a Common Table Expression.

The _expression.CTE object is obtained using the _sql.SelectBase.cte method from any SELECT statement. A less often available syntax also allows use of the _sql.HasCTE.cte method present on :term:`DML` constructs such as _sql.Insert, _sql.Update and _sql.Delete. See the _sql.HasCTE.cte method for usage details on CTEs.

See Also

:ref:`tutorial_subqueries_ctes` - in the 2.0 tutorial

_sql.HasCTE.cte - examples of calling styles

Class Method ​_factory Return a new _expression.CTE, or Common Table Expression instance.
Method ​_get​_reference​_cte A recursive CTE is updated to attach the recursive part. Updated CTEs should still refer to the original CTE. This function returns this reference identifier.
Method ​_init Undocumented
Method ​_populate​_column​_collection Called on subclasses to establish the .c collection.
Method alias Return an _expression.Alias of this _expression.CTE.
Method union Return a new _expression.CTE with a SQL UNION of the original CTE against the given selectables provided as positional arguments.
Method union​_all Return a new _expression.CTE with a SQL UNION ALL of the original CTE against the given selectables provided as positional arguments.
Class Variable __visit​_name__ Undocumented
Class Variable ​_traverse​_internals Undocumented
Instance Variable ​_cte​_alias Undocumented
Instance Variable ​_prefixes Undocumented
Instance Variable ​_restates Undocumented
Instance Variable ​_suffixes Undocumented
Instance Variable nesting Undocumented
Instance Variable recursive Undocumented

Inherited from DMLTableRole:

Class Variable ​_role​_name Undocumented

Inherited from FromClauseRole (via DMLTableRole):

Class Variable ​_is​_subquery Undocumented
Property ​_hide​_froms Undocumented

Inherited from ColumnsClauseRole (via DMLTableRole, FromClauseRole):

Property ​_select​_iterable Undocumented

Inherited from AllowsLambdaRole (via DMLTableRole, FromClauseRole, ColumnsClauseRole):

Class Variable allows​_lambda Undocumented

Inherited from UsesInspection (via DMLTableRole, FromClauseRole, ColumnsClauseRole):

Class Variable ​_post​_inspect Undocumented
Class Variable uses​_inspection Undocumented

Inherited from SQLRole (via DMLTableRole, FromClauseRole, ColumnsClauseRole, ColumnListRole):

Class Variable allows​_lambda Undocumented
Class Variable uses​_inspection Undocumented

Inherited from AllowsLambdaRole (via DMLTableRole, FromClauseRole, JoinTargetRole):

Class Variable allows​_lambda Undocumented

Inherited from UsesInspection (via DMLTableRole, FromClauseRole, JoinTargetRole):

Class Variable ​_post​_inspect Undocumented
Class Variable uses​_inspection Undocumented

Inherited from SQLRole (via DMLTableRole, FromClauseRole, JoinTargetRole, StructuralRole):

Class Variable allows​_lambda Undocumented
Class Variable uses​_inspection Undocumented

Inherited from IsCTERole:

Class Variable ​_role​_name Undocumented

Inherited from SQLRole (via IsCTERole):

Class Variable allows​_lambda Undocumented
Class Variable uses​_inspection Undocumented

Inherited from Generative:

Method ​_generate Undocumented

Inherited from HasPrefixes:

Method ​_setup​_prefixes Undocumented
Method prefix​_with Add one or more expressions following the statement keyword, i.e. SELECT, INSERT, UPDATE, or DELETE. Generative.
Class Variable ​_has​_prefixes​_traverse​_internals Undocumented

Inherited from HasSuffixes:

Method ​_setup​_suffixes Undocumented
Method suffix​_with Add one or more expressions following the statement as a whole.
Class Variable ​_has​_suffixes​_traverse​_internals Undocumented

Inherited from AliasedReturnsRows:

Method is​_derived​_from Return True if this _expression.FromClause is 'derived' from the given FromClause.
Class Method ​_construct Undocumented
Method ​_copy​_internals Reassign internal elements to be clones of themselves.
Method ​_refresh​_for​_new​_column Given a column added to the .c collection of an underlying selectable, produce the local version of that column, assuming this selectable ultimately should proxy this column.
Class Variable ​_is​_from​_container Undocumented
Class Variable ​_supports​_derived​_columns Undocumented
Class Variable named​_with​_column Undocumented
Instance Variable ​_orig​_name Undocumented
Instance Variable element Undocumented
Instance Variable name Undocumented
Property ​_from​_objects Undocumented
Property bind Undocumented
Property description A brief description of this _expression.FromClause.
Property original Legacy for dialects that are referring to Alias.original.

Inherited from NoInit (via AliasedReturnsRows):

Method __init__ Undocumented

Inherited from FromClause (via AliasedReturnsRows):

Method join Return a _expression.Join from this _expression.FromClause to another FromClause.
Method outerjoin No summary
Method select Return a SELECT of this _expression.FromClause.
Method table​_valued Return a _sql.TableValuedColumn object for this _expression.FromClause.
Method tablesample Return a TABLESAMPLE alias of this _expression.FromClause.
Class Variable c Undocumented
Class Variable schema Define the 'schema' attribute for this _expression.FromClause.
Instance Variable foreign​_keys Return the collection of _schema.ForeignKey marker objects which this FromClause references.
Instance Variable primary​_key Return the iterable collection of _schema.Column objects which comprise the primary key of this _selectable.FromClause.
Method ​_anonymous​_fromclause Undocumented
Method ​_generate​_fromclause​_column​_proxies Undocumented
Method ​_init​_collections Undocumented
Method ​_is​_lexical​_equivalent Return True if this _expression.FromClause and the other represent the same lexical identity.
Method ​_reset​_column​_collection Reset the attributes linked to the FromClause.c attribute.
Class Variable ​_hide​_froms Undocumented
Class Variable ​_is​_from​_clause Undocumented
Class Variable ​_is​_join Undocumented
Class Variable ​_select​_iterable Undocumented
Class Variable ​_use​_schema​_map Undocumented
Class Variable is​_selectable Undocumented
Instance Variable ​_columns Undocumented
Property ​_cols​_populated Undocumented
Property columns A named-based collection of _expression.ColumnElement objects maintained by this _expression.FromClause.
Property entity​_namespace Return a namespace used for name-based access in SQL expressions.
Property exported​_columns A _expression.ColumnCollection that represents the "exported" columns of this _expression.Selectable.

Inherited from FromClauseRole (via AliasedReturnsRows, FromClause, AnonymizedFromClauseRole, StrictFromClauseRole):

Class Variable ​_is​_subquery Undocumented
Class Variable ​_role​_name Undocumented

Inherited from AllowsLambdaRole (via AliasedReturnsRows, FromClause, AnonymizedFromClauseRole, StrictFromClauseRole, FromClauseRole, ColumnsClauseRole):

Class Variable allows​_lambda Undocumented

Inherited from UsesInspection (via AliasedReturnsRows, FromClause, AnonymizedFromClauseRole, StrictFromClauseRole, FromClauseRole, ColumnsClauseRole):

Class Variable ​_post​_inspect Undocumented
Class Variable uses​_inspection Undocumented

Inherited from SQLRole (via AliasedReturnsRows, FromClause, AnonymizedFromClauseRole, StrictFromClauseRole, FromClauseRole, ColumnsClauseRole, ColumnListRole):

Class Variable allows​_lambda Undocumented
Class Variable uses​_inspection Undocumented

Inherited from AllowsLambdaRole (via AliasedReturnsRows, FromClause, AnonymizedFromClauseRole, StrictFromClauseRole, FromClauseRole, JoinTargetRole):

Class Variable allows​_lambda Undocumented

Inherited from UsesInspection (via AliasedReturnsRows, FromClause, AnonymizedFromClauseRole, StrictFromClauseRole, FromClauseRole, JoinTargetRole):

Class Variable ​_post​_inspect Undocumented
Class Variable uses​_inspection Undocumented

Inherited from SQLRole (via AliasedReturnsRows, FromClause, AnonymizedFromClauseRole, StrictFromClauseRole, FromClauseRole, JoinTargetRole, StructuralRole):

Class Variable allows​_lambda Undocumented
Class Variable uses​_inspection Undocumented

Inherited from Selectable (via AliasedReturnsRows, FromClause):

Method corresponding​_column No summary
Method lateral Return a LATERAL alias of this _expression.Selectable.
Method replace​_selectable Replace all occurrences of _expression.FromClause 'old' with the given _expression.Alias object, returning a copy of this _expression.FromClause.

Inherited from ReturnsRows (via AliasedReturnsRows, FromClause, Selectable):

Class Variable ​_is​_lateral Undocumented
Class Variable ​_is​_returns​_rows Undocumented
Class Variable ​_is​_select​_statement Undocumented
Property ​_all​_selected​_columns A sequence of column expression objects that represents the "selected" columns of this _expression.ReturnsRows.
Property selectable Undocumented

Inherited from ReturnsRowsRole (via AliasedReturnsRows, FromClause, Selectable, ReturnsRows):

Class Variable ​_role​_name Undocumented

Inherited from SQLRole (via AliasedReturnsRows, FromClause, Selectable, ReturnsRows, ReturnsRowsRole):

Class Variable allows​_lambda Undocumented
Class Variable uses​_inspection Undocumented

Inherited from ClauseElement (via AliasedReturnsRows, FromClause, Selectable, ReturnsRows):

Method compare Compare this _expression.ClauseElement to the given _expression.ClauseElement.
Method compile Compile this SQL expression.
Method params Return a copy with _expression.bindparam elements replaced.
Method self​_group Apply a 'grouping' to this _expression.ClauseElement.
Method unique​_params Return a copy with _expression.bindparam elements replaced.
Method __bool__ Undocumented
Method __getstate__ Undocumented
Method __invert__ Undocumented
Method __repr__ Undocumented
Method __str__ Undocumented
Method ​_clone Create a shallow copy of this ClauseElement.
Method ​_cloned​_set Return the set consisting all cloned ancestors of this ClauseElement.
Method ​_compile​_w​_cache Undocumented
Method ​_compiler Return a compiler appropriate for this ClauseElement, given a Dialect.
Method ​_execute​_on​_connection Undocumented
Method ​_negate Undocumented
Method ​_negate​_in​_binary a hook to allow the right side of a binary expression to respond to a negation of the binary expression.
Method ​_replace​_params Undocumented
Method ​_set​_propagate​_attrs Undocumented
Method ​_ungroup Return this _expression.ClauseElement without any groupings.
Method ​_with​_binary​_element​_type in the context of binary expression, convert the type of this object to the one given.
Class Variable ​_cache​_key​_traversal Undocumented
Class Variable ​_is​_bind​_parameter Undocumented
Class Variable ​_is​_clause​_list Undocumented
Class Variable ​_is​_clone​_of Undocumented
Class Variable ​_is​_immutable Undocumented
Class Variable ​_is​_lambda​_element Undocumented
Class Variable ​_is​_select​_container Undocumented
Class Variable ​_is​_singleton​_constant Undocumented
Class Variable ​_is​_text​_clause Undocumented
Class Variable ​_is​_textual Undocumented
Class Variable ​_order​_by​_label​_element Undocumented
Class Variable is​_clause​_element Undocumented
Class Variable stringify​_dialect Undocumented
Class Variable supports​_execution Undocumented
Instance Variable ​_propagate​_attrs like annotations, however these propagate outwards liberally as SQL constructs are built, and are set up at construction time.
Property ​_constructor return the 'constructor' for this ClauseElement.

Inherited from SQLRole (via AliasedReturnsRows, FromClause, Selectable, ReturnsRows, ClauseElement):

Class Variable allows​_lambda Undocumented
Class Variable uses​_inspection Undocumented

Inherited from SupportsWrappingAnnotations (via AliasedReturnsRows, FromClause, Selectable, ReturnsRows, ClauseElement):

Method ​_annotate return a copy of this ClauseElement with annotations updated by the given dictionary.
Method ​_deannotate return a copy of this _expression.ClauseElement with annotations removed.
Method ​_with​_annotations return a copy of this ClauseElement with annotations replaced by the given dictionary.

Inherited from SupportsAnnotations (via AliasedReturnsRows, FromClause, Selectable, ReturnsRows, ClauseElement, SupportsWrappingAnnotations):

Property ​_annotations​_cache​_key Undocumented

Inherited from MemoizedHasCacheKey (via AliasedReturnsRows, FromClause, Selectable, ReturnsRows, ClauseElement):

Method ​_generate​_cache​_key return a cache key.

Inherited from HasCacheKey (via AliasedReturnsRows, FromClause, Selectable, ReturnsRows, ClauseElement, MemoizedHasCacheKey):

Class Variable inherit​_cache Indicate if this .HasCacheKey instance should make use of the cache key generation scheme used by its immediate superclass.
Class Method ​_generate​_cache​_attrs generate cache key dispatcher for a new class.
Class Method ​_generate​_cache​_key​_for​_object Undocumented
Method ​_gen​_cache​_key return an optional cache key.
Class Variable __slots__ Undocumented
Class Variable ​_hierarchy​_supports​_caching private attribute which may be set to False to prevent the inherit_cache warning from being emitted for a hierarchy of subclasses.
Class Variable ​_is​_has​_cache​_key Undocumented

Inherited from Traversible (via AliasedReturnsRows, FromClause, Selectable, ReturnsRows, ClauseElement):

Method get​_children Return immediate child .visitors.Traversible elements of this .visitors.Traversible.
Method __class​_getitem__ Undocumented
@classmethod
def _factory(cls, selectable, name=None, recursive=False):

Return a new _expression.CTE, or Common Table Expression instance.

Please see _expression.HasCTE.cte for detail on CTE usage.

def _get_reference_cte(self):
A recursive CTE is updated to attach the recursive part. Updated CTEs should still refer to the original CTE. This function returns this reference identifier.
def _init(self, selectable, name=None, recursive=False, nesting=False, _cte_alias=None, _restates=None, _prefixes=None, _suffixes=None):
def _populate_column_collection(self):

Called on subclasses to establish the .c collection.

Each implementation has a different way of establishing this collection.

def alias(self, name=None, flat=False):

Return an _expression.Alias of this _expression.CTE.

This method is a CTE-specific specialization of the _expression.FromClause.alias method.

See Also

:ref:`core_tutorial_aliases`

_expression.alias

def union(self, *other):

Return a new _expression.CTE with a SQL UNION of the original CTE against the given selectables provided as positional arguments.

See Also

_sql.HasCTE.cte - examples of calling styles

Parameters
*other

one or more elements with which to create a UNION.

Changed in version 1.4.28: multiple elements are now accepted.
def union_all(self, *other):

Return a new _expression.CTE with a SQL UNION ALL of the original CTE against the given selectables provided as positional arguments.

See Also

_sql.HasCTE.cte - examples of calling styles

Parameters
*other

one or more elements with which to create a UNION.

Changed in version 1.4.28: multiple elements are now accepted.
__visit_name__: str =
_traverse_internals =
_cte_alias =

Undocumented

_prefixes =
_restates =

Undocumented

_suffixes =
nesting =

Undocumented

recursive =

Undocumented