class CompoundSelect(HasCompileState, GenerativeSelect, ExecutableReturnsRows): (source)
Forms the basis of ``UNION``, ``UNION ALL``, and other SELECT-based set operations. .. seealso:: :func:`_expression.union` :func:`_expression.union_all` :func:`_expression.intersect` :func:`_expression.intersect_all` :func:`_expression.except` :func:`_expression.except_all`
Method | __init__ |
Undocumented |
Method | is |
Return ``True`` if this :class:`.ReturnsRows` is 'derived' from the given :class:`.FromClause`. |
Method | self |
Apply a 'grouping' to this :class:`_expression.ClauseElement`. |
Method | set |
Return a new selectable with the specified label style. |
Class Variable | __visit |
Undocumented |
Instance Variable | keyword |
Undocumented |
Instance Variable | selects |
Undocumented |
Property | selected |
A :class:`_expression.ColumnCollection` representing the columns that this SELECT statement or similar construct returns in its result set, not including :class:`_sql.TextClause` constructs. |
Class Method | _create |
Undocumented |
Class Method | _create |
Undocumented |
Class Method | _create |
Undocumented |
Class Method | _create |
Undocumented |
Class Method | _create |
Undocumented |
Class Method | _create |
Undocumented |
Method | _ensure |
Ensure that the names generated by this selectbase will be disambiguated in some way, if possible. |
Method | _generate |
Populate columns into an :class:`.AliasedReturnsRows` object. |
Method | _refresh |
reset internal collections for an incoming column being added. |
Method | _scalar |
Undocumented |
Class Variable | _auto |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _traverse |
Undocumented |
Property | _all |
A sequence of expressions that correspond to what is rendered in the columns clause, including :class:`_sql.TextClause` constructs. |
Inherited from HasCompileState
:
Class Variable | _compile |
Undocumented |
Inherited from GenerativeSelect
(via HasCompileState
):
Method | fetch |
Return a new selectable with the given FETCH FIRST criterion applied. |
Method | get |
Retrieve the current label style. |
Method | group |
Return a new selectable with the given list of GROUP BY criterion applied. |
Method | limit |
Return a new selectable with the given LIMIT criterion applied. |
Method | offset |
Return a new selectable with the given OFFSET criterion applied. |
Method | order |
Return a new selectable with the given list of ORDER BY criteria applied. |
Method | slice |
Apply LIMIT / OFFSET to this statement based on a slice. |
Method | with |
Specify a ``FOR UPDATE`` clause for this :class:`_expression.GenerativeSelect`. |
Method | _offset |
Convert the given value to an "offset or limit" clause. |
Method | _offset |
Convert the "offset or limit" clause of a select construct to an integer. |
Method | _simple |
True if the clause is a simple integer, False if it is not present or is a SQL expression. |
Instance Variable | _fetch |
Undocumented |
Instance Variable | _fetch |
Undocumented |
Instance Variable | _for |
Undocumented |
Instance Variable | _group |
Undocumented |
Instance Variable | _label |
Undocumented |
Instance Variable | _limit |
Undocumented |
Instance Variable | _offset |
Undocumented |
Instance Variable | _order |
Undocumented |
Property | _group |
ClauseList access to group_by_clauses for legacy dialects |
Property | _has |
Undocumented |
Property | _limit |
Get an integer value for the limit. This should only be used by code that cannot support a limit as a BindParameter or other custom clause as it will throw an exception if the limit isn't currently set to an integer. |
Property | _offset |
Get an integer value for the offset. This should only be used by code that cannot support an offset as a BindParameter or other custom clause as it will throw an exception if the offset isn't currently set to an integer. |
Property | _order |
ClauseList access to order_by_clauses for legacy dialects |
Inherited from SelectBase
(via HasCompileState
, GenerativeSelect
):
Method | alias |
Return a named subquery against this :class:`_expression.SelectBase`. |
Method | as |
Undocumented |
Method | exists |
Return an :class:`_sql.Exists` representation of this selectable, which can be used as a column expression. |
Method | label |
Return a 'scalar' representation of this selectable, embedded as a subquery with a label. |
Method | lateral |
Return a LATERAL alias of this :class:`_expression.Selectable`. |
Method | scalar |
Return a 'scalar' representation of this selectable, which can be used as a column expression. |
Method | select |
Undocumented |
Method | subquery |
Return a subquery of this :class:`_expression.SelectBase`. |
Class Variable | is |
Undocumented |
Property | c |
Undocumented |
Property | columns |
Undocumented |
Property | exported |
A :class:`_expression.ColumnCollection` that represents the "exported" columns of this :class:`_expression.Selectable`, not including :class:`_sql.TextClause` constructs. |
Method | _implicit |
Undocumented |
Class Variable | _is |
Undocumented |
Inherited from SelectStatementRole
(via HasCompileState
, GenerativeSelect
, SelectBase
):
Class Variable | __slots__ |
Undocumented |
Class Variable | _role |
Undocumented |
Inherited from Executable
(via HasCompileState
, GenerativeSelect
, SelectBase
, SelectStatementRole
, ExecutableReturnsRows
):
Method | execution |
Set non-SQL options for the statement which take effect during execution. |
Method | get |
Get the non-SQL options which will take effect during execution. |
Method | options |
Apply options to this statement. |
Class Variable | is |
Undocumented |
Class Variable | is |
Undocumented |
Class Variable | is |
Undocumented |
Class Variable | is |
Undocumented |
Class Variable | is |
Undocumented |
Class Variable | supports |
Undocumented |
Method | _add |
Add a context option to this statement. |
Method | _compile |
Undocumented |
Method | _execute |
Undocumented |
Method | _execute |
Undocumented |
Method | _set |
Assign the compile options to a new value. |
Method | _update |
update the _compile_options with new keys. |
Class Variable | _executable |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _with |
Undocumented |
Class Variable | _with |
Undocumented |
Instance Variable | _compile |
Undocumented |
Instance Variable | _execution |
Undocumented |
Property | _effective |
Undocumented |
Inherited from StatementRole
(via HasCompileState
, GenerativeSelect
, SelectBase
, SelectStatementRole
, ExecutableReturnsRows
, Executable
):
Property | _propagate |
Undocumented |
Inherited from AllowsLambdaRole
(via HasCompileState
, GenerativeSelect
, SelectBase
, SelectStatementRole
, ExecutableReturnsRows
, Executable
, StatementRole
, DMLSelectRole
, CompoundElementRole
):
Class Variable | allows |
Undocumented |
Inherited from HasCTE
(via HasCompileState
, GenerativeSelect
, SelectBase
, SelectStatementRole
, ExecutableReturnsRows
, Executable
, StatementRole
, DMLSelectRole
, CompoundElementRole
, AllowsLambdaRole
, InElementRole
):
Method | add |
Add one or more :class:`_sql.CTE` constructs to this statement. |
Method | cte |
Return a new :class:`_expression.CTE`, or Common Table Expression instance. |
Class Variable | _has |
Undocumented |
Class Variable | _independent |
Undocumented |
Class Variable | _independent |
Undocumented |
Inherited from SelectsRows
(via HasCompileState
, GenerativeSelect
, SelectBase
, SelectStatementRole
, ExecutableReturnsRows
, Executable
, StatementRole
, DMLSelectRole
, CompoundElementRole
, AllowsLambdaRole
, InElementRole
, HasCTE
, HasCTERole
):
Method | _generate |
Generate column names as rendered in a SELECT statement by the compiler. |
Inherited from SupportsCloneAnnotations
(via HasCompileState
, GenerativeSelect
, SelectBase
, SelectStatementRole
, ExecutableReturnsRows
, Executable
, StatementRole
, DMLSelectRole
, CompoundElementRole
, AllowsLambdaRole
, InElementRole
, HasCTE
, HasCTERole
, SelectsRows
):
Method | _annotate |
return a copy of this ClauseElement with annotations updated by the given dictionary. |
Method | _deannotate |
return a copy of this :class:`_expression.ClauseElement` with annotations removed. |
Method | _with |
return a copy of this ClauseElement with annotations replaced by the given dictionary. |
Class Variable | _clone |
Undocumented |
Inherited from Selectable
(via HasCompileState
, GenerativeSelect
, SelectBase
, SelectStatementRole
, ExecutableReturnsRows
, Executable
, StatementRole
, DMLSelectRole
, CompoundElementRole
, AllowsLambdaRole
, InElementRole
, HasCTE
, HasCTERole
, SelectsRows
, SupportsCloneAnnotations
):
Method | corresponding |
Given a :class:`_expression.ColumnElement`, return the exported :class:`_expression.ColumnElement` object from the :attr:`_expression.Selectable.exported_columns` collection of this :class:`_expression... |
Method | replace |
Replace all occurrences of :class:`_expression.FromClause` 'old' with the given :class:`_expression.Alias` object, returning a copy of this :class:`_expression.FromClause`. |
Class Variable | is |
Undocumented |
Inherited from ReturnsRows
(via HasCompileState
, GenerativeSelect
, SelectBase
, SelectStatementRole
, ExecutableReturnsRows
, Executable
, StatementRole
, DMLSelectRole
, CompoundElementRole
, AllowsLambdaRole
, InElementRole
, HasCTE
, HasCTERole
, SelectsRows
, SupportsCloneAnnotations
, Selectable
):
Property | selectable |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Inherited from SQLRole
(via HasCompileState
, GenerativeSelect
, SelectBase
, SelectStatementRole
, ExecutableReturnsRows
, Executable
, StatementRole
, DMLSelectRole
, CompoundElementRole
, AllowsLambdaRole
, InElementRole
, HasCTE
, HasCTERole
, SelectsRows
, SupportsCloneAnnotations
, Selectable
, ReturnsRows
, ReturnsRowsRole
):
Class Variable | uses |
Undocumented |
Inherited from DQLDMLClauseElement
(via HasCompileState
, GenerativeSelect
, SelectBase
, SelectStatementRole
, ExecutableReturnsRows
, Executable
, StatementRole
, DMLSelectRole
, CompoundElementRole
, AllowsLambdaRole
, InElementRole
, HasCTE
, HasCTERole
, SelectsRows
, SupportsCloneAnnotations
, Selectable
, ReturnsRows
, ReturnsRowsRole
, SQLRole
):
Method | compile |
Compile this SQL expression. |
Method | _compiler |
Return a compiler appropriate for this ClauseElement, given a Dialect. |
Inherited from ClauseElement
(via HasCompileState
, GenerativeSelect
, SelectBase
, SelectStatementRole
, ExecutableReturnsRows
, Executable
, StatementRole
, DMLSelectRole
, CompoundElementRole
, AllowsLambdaRole
, InElementRole
, HasCTE
, HasCTERole
, SelectsRows
, SupportsCloneAnnotations
, Selectable
, ReturnsRows
, ReturnsRowsRole
, SQLRole
, DQLDMLClauseElement
):
Method | __bool__ |
Undocumented |
Method | __getstate__ |
Undocumented |
Method | __invert__ |
Undocumented |
Method | __repr__ |
Undocumented |
Method | compare |
Compare this :class:`_expression.ClauseElement` to the given :class:`_expression.ClauseElement`. |
Method | get |
Return immediate child :class:`.visitors.HasTraverseInternals` elements of this :class:`.visitors.HasTraverseInternals`. |
Method | params |
Return a copy with :func:`_expression.bindparam` elements replaced. |
Method | unique |
Return a copy with :func:`_expression.bindparam` elements replaced. |
Class Variable | is |
Undocumented |
Class Variable | negation |
Undocumented |
Property | description |
Undocumented |
Property | entity |
Undocumented |
Method | _clone |
Create a shallow copy of this ClauseElement. |
Method | _cloned |
Return the set consisting all cloned ancestors of this ClauseElement. |
Method | _negate |
Undocumented |
Method | _negate |
a hook to allow the right side of a binary expression to respond to a negation of the binary expression. |
Method | _replace |
Undocumented |
Method | _set |
Undocumented |
Method | _ungroup |
Return this :class:`_expression.ClauseElement` without any groupings. |
Method | _with |
in the context of binary expression, convert the type of this object to the one given. |
Class Variable | _cache |
Undocumented |
Class Variable | _gen |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Property | _constructor |
return the 'constructor' for this ClauseElement. |
Property | _from |
Undocumented |
Property | _order |
Undocumented |
Inherited from SupportsAnnotations
(via HasCompileState
, GenerativeSelect
, SelectBase
, SelectStatementRole
, ExecutableReturnsRows
, Executable
, StatementRole
, DMLSelectRole
, CompoundElementRole
, AllowsLambdaRole
, InElementRole
, HasCTE
, HasCTERole
, SelectsRows
, SupportsCloneAnnotations
, Selectable
, ReturnsRows
, ReturnsRowsRole
, SQLRole
, DQLDMLClauseElement
, ClauseElement
, SupportsWrappingAnnotations
):
Class Variable | proxy |
Undocumented |
Method | _gen |
Undocumented |
Property | _annotations |
Undocumented |
Inherited from MemoizedHasCacheKey
(via HasCompileState
, GenerativeSelect
, SelectBase
, SelectStatementRole
, ExecutableReturnsRows
, Executable
, StatementRole
, DMLSelectRole
, CompoundElementRole
, AllowsLambdaRole
, InElementRole
, HasCTE
, HasCTERole
, SelectsRows
, SupportsCloneAnnotations
, Selectable
, ReturnsRows
, ReturnsRowsRole
, SQLRole
, DQLDMLClauseElement
, ClauseElement
, SupportsWrappingAnnotations
, SupportsAnnotations
):
Method | _generate |
return a cache key. |
Inherited from HasCacheKey
(via HasCompileState
, GenerativeSelect
, SelectBase
, SelectStatementRole
, ExecutableReturnsRows
, Executable
, StatementRole
, DMLSelectRole
, CompoundElementRole
, AllowsLambdaRole
, InElementRole
, HasCTE
, HasCTERole
, SelectsRows
, SupportsCloneAnnotations
, Selectable
, ReturnsRows
, ReturnsRowsRole
, SQLRole
, DQLDMLClauseElement
, ClauseElement
, SupportsWrappingAnnotations
, SupportsAnnotations
, MemoizedHasCacheKey
):
Class Variable | inherit |
Indicate if this :class:`.HasCacheKey` instance should make use of the cache key generation scheme used by its immediate superclass. |
Class Method | _generate |
generate cache key dispatcher for a new class. |
Class Method | _generate |
Undocumented |
Method | _gen |
return an optional cache key. |
Class Variable | _generated |
Undocumented |
Class Variable | _hierarchy |
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 |
Undocumented |
Inherited from Generative
(via HasCompileState
, GenerativeSelect
, SelectBase
, SelectStatementRole
, ExecutableReturnsRows
, Executable
, StatementRole
, DMLSelectRole
, CompoundElementRole
, AllowsLambdaRole
, InElementRole
, HasCTE
, HasCTERole
, SelectsRows
, SupportsCloneAnnotations
, Selectable
, ReturnsRows
, ReturnsRowsRole
, SQLRole
, DQLDMLClauseElement
, ClauseElement
, SupportsWrappingAnnotations
, SupportsAnnotations
, MemoizedHasCacheKey
, HasCacheKey
):
Method | _generate |
Undocumented |
Inherited from HasCopyInternals
(via HasCompileState
, GenerativeSelect
, SelectBase
, SelectStatementRole
, ExecutableReturnsRows
, Executable
, StatementRole
, DMLSelectRole
, CompoundElementRole
, AllowsLambdaRole
, InElementRole
, HasCTE
, HasCTERole
, SelectsRows
, SupportsCloneAnnotations
, Selectable
, ReturnsRows
, ReturnsRowsRole
, SQLRole
, DQLDMLClauseElement
, ClauseElement
, SupportsWrappingAnnotations
, SupportsAnnotations
, MemoizedHasCacheKey
, HasCacheKey
, Generative
):
Method | _copy |
Reassign internal elements to be clones of themselves. |
Inherited from CompilerElement
(via HasCompileState
, GenerativeSelect
, SelectBase
, SelectStatementRole
, ExecutableReturnsRows
, Executable
, StatementRole
, DMLSelectRole
, CompoundElementRole
, AllowsLambdaRole
, InElementRole
, HasCTE
, HasCTERole
, SelectsRows
, SupportsCloneAnnotations
, Selectable
, ReturnsRows
, ReturnsRowsRole
, SQLRole
, DQLDMLClauseElement
, ClauseElement
, SupportsWrappingAnnotations
, SupportsAnnotations
, MemoizedHasCacheKey
, HasCacheKey
, Generative
, HasCopyInternals
, ExternallyTraversible
, HasTraverseInternals
):
Method | __str__ |
Undocumented |
Class Variable | stringify |
Undocumented |
Inherited from Visitable
(via HasCompileState
, GenerativeSelect
, SelectBase
, SelectStatementRole
, ExecutableReturnsRows
, Executable
, StatementRole
, DMLSelectRole
, CompoundElementRole
, AllowsLambdaRole
, InElementRole
, HasCTE
, HasCTERole
, SelectsRows
, SupportsCloneAnnotations
, Selectable
, ReturnsRows
, ReturnsRowsRole
, SQLRole
, DQLDMLClauseElement
, ClauseElement
, SupportsWrappingAnnotations
, SupportsAnnotations
, MemoizedHasCacheKey
, HasCacheKey
, Generative
, HasCopyInternals
, ExternallyTraversible
, HasTraverseInternals
, CompilerElement
):
Method | __class |
Undocumented |
Method | __init |
Undocumented |
Class Method | _generate |
Undocumented |
Method | _compiler |
Undocumented |
Class Variable | _original |
Undocumented |
_CompoundSelectKeyword
, *selects: _SelectStatementForCompoundArgument
):
(source)
¶
Undocumented
Return ``True`` if this :class:`.ReturnsRows` is 'derived' from the given :class:`.FromClause`. An example would be an Alias of a Table is derived from that Table.
Apply a 'grouping' to this :class:`_expression.ClauseElement`. This method is overridden by subclasses to return a "grouping" construct, i.e. parenthesis. In particular it's used by "binary" expressions to provide a grouping around themselves when placed into a larger expression, as well as by :func:`_expression.select` constructs when placed into the FROM clause of another :func:`_expression.select`. (Note that subqueries should be normally created using the :meth:`_expression.Select.alias` method, as many platforms require nested SELECT statements to be named). As expressions are composed together, the application of :meth:`self_group` is automatic - end-user code should never need to use this method directly. Note that SQLAlchemy's clause constructs take operator precedence into account - so parenthesis might not be needed, for example, in an expression like ``x OR (y AND z)`` - AND takes precedence over OR. The base :meth:`self_group` method of :class:`_expression.ClauseElement` just returns self.
Return a new selectable with the specified label style. There are three "label styles" available, :attr:`_sql.SelectLabelStyle.LABEL_STYLE_DISAMBIGUATE_ONLY`, :attr:`_sql.SelectLabelStyle.LABEL_STYLE_TABLENAME_PLUS_COL`, and :attr:`_sql.SelectLabelStyle.LABEL_STYLE_NONE`. The default style is :attr:`_sql.SelectLabelStyle.LABEL_STYLE_TABLENAME_PLUS_COL`. In modern SQLAlchemy, there is not generally a need to change the labeling style, as per-expression labels are more effectively used by making use of the :meth:`_sql.ColumnElement.label` method. In past versions, :data:`_sql.LABEL_STYLE_TABLENAME_PLUS_COL` was used to disambiguate same-named columns from different tables, aliases, or subqueries; the newer :data:`_sql.LABEL_STYLE_DISAMBIGUATE_ONLY` now applies labels only to names that conflict with an existing name so that the impact of this labeling is minimal. The rationale for disambiguation is mostly so that all column expressions are available from a given :attr:`_sql.FromClause.c` collection when a subquery is created. .. versionadded:: 1.4 - the :meth:`_sql.GenerativeSelect.set_label_style` method replaces the previous combination of ``.apply_labels()``, ``.with_labels()`` and ``use_labels=True`` methods and/or parameters. .. seealso:: :data:`_sql.LABEL_STYLE_DISAMBIGUATE_ONLY` :data:`_sql.LABEL_STYLE_TABLENAME_PLUS_COL` :data:`_sql.LABEL_STYLE_NONE` :data:`_sql.LABEL_STYLE_DEFAULT`
selected_columns:
ColumnCollection[ str, ColumnElement[ Any]]
=
(source)
¶
A :class:`_expression.ColumnCollection` representing the columns that this SELECT statement or similar construct returns in its result set, not including :class:`_sql.TextClause` constructs. For a :class:`_expression.CompoundSelect`, the :attr:`_expression.CompoundSelect.selected_columns` attribute returns the selected columns of the first SELECT statement contained within the series of statements within the set operation. .. seealso:: :attr:`_sql.Select.selected_columns` .. versionadded:: 1.4
def _create_except(cls, *selects:
_SelectStatementForCompoundArgument
) -> CompoundSelect
:
(source)
¶
Undocumented
def _create_except_all(cls, *selects:
_SelectStatementForCompoundArgument
) -> CompoundSelect
:
(source)
¶
Undocumented
def _create_intersect(cls, *selects:
_SelectStatementForCompoundArgument
) -> CompoundSelect
:
(source)
¶
Undocumented
def _create_intersect_all(cls, *selects:
_SelectStatementForCompoundArgument
) -> CompoundSelect
:
(source)
¶
Undocumented
def _create_union(cls, *selects:
_SelectStatementForCompoundArgument
) -> CompoundSelect
:
(source)
¶
Undocumented
def _create_union_all(cls, *selects:
_SelectStatementForCompoundArgument
) -> CompoundSelect
:
(source)
¶
Undocumented
FromClause
, *, proxy_compound_columns: Optional[ Iterable[ Sequence[ ColumnElement[ Any]]]]
= None):
(source)
¶
Populate columns into an :class:`.AliasedReturnsRows` object.