class SelectBase(roles.SelectStatementRole, roles.DMLSelectRole, roles.CompoundElementRole, roles.InElementRole, HasCTE, SupportsCloneAnnotations, Selectable): (source)
Known subclasses: sqlalchemy.sql.selectable.GenerativeSelect
, sqlalchemy.sql.selectable.SelectStatementGrouping
, sqlalchemy.sql.selectable.TextualSelect
Base class for SELECT statements. This includes :class:`_expression.Select`, :class:`_expression.CompoundSelect` and :class:`_expression.TextualSelect`.
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 | get |
Retrieve the current label style. |
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 | set |
Return a new selectable with the specified label style. |
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. |
Property | selected |
A :class:`_expression.ColumnCollection` representing the columns that this SELECT statement or similar construct returns in its result set. |
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 | _implicit |
Undocumented |
Method | _refresh |
reset internal collections for an incoming column being added. |
Method | _scalar |
Undocumented |
Class Variable | _is |
Undocumented |
Property | _all |
A sequence of expressions that correspond to what is rendered in the columns clause, including :class:`_sql.TextClause` constructs. |
Inherited from SelectStatementRole
:
Class Variable | __slots__ |
Undocumented |
Class Variable | _role |
Undocumented |
Inherited from StatementRole
(via SelectStatementRole
):
Property | _propagate |
Undocumented |
Inherited from AllowsLambdaRole
(via SelectStatementRole
, StatementRole
, DMLSelectRole
, CompoundElementRole
):
Class Variable | allows |
Undocumented |
Inherited from HasCTE
(via SelectStatementRole
, 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 SelectStatementRole
, 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 SelectStatementRole
, 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 SelectStatementRole
, 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 | __visit |
Undocumented |
Class Variable | is |
Undocumented |
Inherited from ReturnsRows
(via SelectStatementRole
, StatementRole
, DMLSelectRole
, CompoundElementRole
, AllowsLambdaRole
, InElementRole
, HasCTE
, HasCTERole
, SelectsRows
, SupportsCloneAnnotations
, Selectable
):
Method | is |
Return ``True`` if this :class:`.ReturnsRows` is 'derived' from the given :class:`.FromClause`. |
Property | selectable |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Inherited from SQLRole
(via SelectStatementRole
, StatementRole
, DMLSelectRole
, CompoundElementRole
, AllowsLambdaRole
, InElementRole
, HasCTE
, HasCTERole
, SelectsRows
, SupportsCloneAnnotations
, Selectable
, ReturnsRows
, ReturnsRowsRole
):
Class Variable | uses |
Undocumented |
Inherited from DQLDMLClauseElement
(via SelectStatementRole
, 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 SelectStatementRole
, 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 | self |
Apply a 'grouping' to this :class:`_expression.ClauseElement`. |
Method | unique |
Return a copy with :func:`_expression.bindparam` elements replaced. |
Class Variable | is |
Undocumented |
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 | _compile |
Undocumented |
Method | _execute |
Undocumented |
Method | _execute |
an additional hook for subclasses to provide a different implementation for connection.scalar() vs. connection.execute(). |
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 |
Class Variable | _is |
Undocumented |
Property | _constructor |
return the 'constructor' for this ClauseElement. |
Property | _from |
Undocumented |
Property | _order |
Undocumented |
Inherited from SupportsAnnotations
(via SelectStatementRole
, 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 SelectStatementRole
, 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 SelectStatementRole
, 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 HasCopyInternals
(via SelectStatementRole
, StatementRole
, DMLSelectRole
, CompoundElementRole
, AllowsLambdaRole
, InElementRole
, HasCTE
, HasCTERole
, SelectsRows
, SupportsCloneAnnotations
, Selectable
, ReturnsRows
, ReturnsRowsRole
, SQLRole
, DQLDMLClauseElement
, ClauseElement
, SupportsWrappingAnnotations
, SupportsAnnotations
, MemoizedHasCacheKey
, HasCacheKey
):
Method | _copy |
Reassign internal elements to be clones of themselves. |
Inherited from HasTraverseInternals
(via SelectStatementRole
, StatementRole
, DMLSelectRole
, CompoundElementRole
, AllowsLambdaRole
, InElementRole
, HasCTE
, HasCTERole
, SelectsRows
, SupportsCloneAnnotations
, Selectable
, ReturnsRows
, ReturnsRowsRole
, SQLRole
, DQLDMLClauseElement
, ClauseElement
, SupportsWrappingAnnotations
, SupportsAnnotations
, MemoizedHasCacheKey
, HasCacheKey
, HasCopyInternals
, ExternallyTraversible
):
Class Variable | _traverse |
Undocumented |
Inherited from CompilerElement
(via SelectStatementRole
, StatementRole
, DMLSelectRole
, CompoundElementRole
, AllowsLambdaRole
, InElementRole
, HasCTE
, HasCTERole
, SelectsRows
, SupportsCloneAnnotations
, Selectable
, ReturnsRows
, ReturnsRowsRole
, SQLRole
, DQLDMLClauseElement
, ClauseElement
, SupportsWrappingAnnotations
, SupportsAnnotations
, MemoizedHasCacheKey
, HasCacheKey
, HasCopyInternals
, ExternallyTraversible
, HasTraverseInternals
):
Method | __str__ |
Undocumented |
Class Variable | stringify |
Undocumented |
Class Variable | supports |
Undocumented |
Inherited from Visitable
(via SelectStatementRole
, StatementRole
, DMLSelectRole
, CompoundElementRole
, AllowsLambdaRole
, InElementRole
, HasCTE
, HasCTERole
, SelectsRows
, SupportsCloneAnnotations
, Selectable
, ReturnsRows
, ReturnsRowsRole
, SQLRole
, DQLDMLClauseElement
, ClauseElement
, SupportsWrappingAnnotations
, SupportsAnnotations
, MemoizedHasCacheKey
, HasCacheKey
, HasCopyInternals
, ExternallyTraversible
, HasTraverseInternals
, CompilerElement
):
Method | __class |
Undocumented |
Method | __init |
Undocumented |
Class Method | _generate |
Undocumented |
Method | _compiler |
Undocumented |
Class Variable | _original |
Undocumented |
Return a named subquery against this :class:`_expression.SelectBase`. For a :class:`_expression.SelectBase` (as opposed to a :class:`_expression.FromClause`), this returns a :class:`.Subquery` object which behaves mostly the same as the :class:`_expression.Alias` object that is used with a :class:`_expression.FromClause`. .. versionchanged:: 1.4 The :meth:`_expression.SelectBase.alias` method is now a synonym for the :meth:`_expression.SelectBase.subquery` method.
def as_scalar(self) ->
ScalarSelect[ Any]
:
(source)
¶
Undocumented
Return an :class:`_sql.Exists` representation of this selectable, which can be used as a column expression. The returned object is an instance of :class:`_sql.Exists`. .. seealso:: :func:`_sql.exists` :ref:`tutorial_exists` - in the :term:`2.0 style` tutorial. .. versionadded:: 1.4
sqlalchemy.sql.selectable.GenerativeSelect
, sqlalchemy.sql.selectable.SelectStatementGrouping
Retrieve the current label style. Implemented by subclasses.
Return a 'scalar' representation of this selectable, embedded as a subquery with a label. .. seealso:: :meth:`_expression.SelectBase.scalar_subquery`.
Return a LATERAL alias of this :class:`_expression.Selectable`. The return value is the :class:`_expression.Lateral` construct also provided by the top-level :func:`_expression.lateral` function. .. versionadded:: 1.1 .. seealso:: :ref:`tutorial_lateral_correlation` - overview of usage.
sqlalchemy.sql.selectable.Select
Return a 'scalar' representation of this selectable, which can be used as a column expression. The returned object is an instance of :class:`_sql.ScalarSelect`. Typically, a select statement which has only one column in its columns clause is eligible to be used as a scalar expression. The scalar subquery can then be used in the WHERE clause or columns clause of an enclosing SELECT. Note that the scalar subquery differentiates from the FROM-level subquery that can be produced using the :meth:`_expression.SelectBase.subquery` method. .. versionchanged: 1.4 - the ``.as_scalar()`` method was renamed to :meth:`_expression.SelectBase.scalar_subquery`. .. seealso:: :ref:`tutorial_scalar_subquery` - in the 2.0 tutorial
def select(self, *arg:
Any
, **kw: Any
) -> Select[ Any]
:
(source)
¶
Undocumented
sqlalchemy.sql.selectable.GenerativeSelect
, sqlalchemy.sql.selectable.SelectStatementGrouping
, sqlalchemy.sql.selectable.TextualSelect
Return a new selectable with the specified label style. Implemented by subclasses.
Return a subquery of this :class:`_expression.SelectBase`. A subquery is from a SQL perspective a parenthesized, named construct that can be placed in the FROM clause of another SELECT statement. Given a SELECT statement such as:: stmt = select(table.c.id, table.c.name) The above statement might look like:: SELECT table.id, table.name FROM table The subquery form by itself renders the same way, however when embedded into the FROM clause of another SELECT statement, it becomes a named sub-element:: subq = stmt.subquery() new_stmt = select(subq) The above renders as:: SELECT anon_1.id, anon_1.name FROM (SELECT table.id, table.name FROM table) AS anon_1 Historically, :meth:`_expression.SelectBase.subquery` is equivalent to calling the :meth:`_expression.FromClause.alias` method on a FROM object; however, as a :class:`_expression.SelectBase` object is not directly FROM object, the :meth:`_expression.SelectBase.subquery` method provides clearer semantics. .. versionadded:: 1.4
@util.deprecated(
c:
ReadOnlyColumnCollection[ str, KeyedColumnElement[ Any]]
=
(source)
¶
Undocumented
A :class:`_expression.ColumnCollection` that represents the "exported" columns of this :class:`_expression.Selectable`, not including :class:`_sql.TextClause` constructs. The "exported" columns for a :class:`_expression.SelectBase` object are synonymous with the :attr:`_expression.SelectBase.selected_columns` collection. .. versionadded:: 1.4 .. seealso:: :attr:`_expression.Select.exported_columns` :attr:`_expression.Selectable.exported_columns` :attr:`_expression.FromClause.exported_columns`
selected_columns:
ColumnCollection[ str, ColumnElement[ Any]]
=
(source)
¶
sqlalchemy.sql.selectable.CompoundSelect
, sqlalchemy.sql.selectable.Select
, sqlalchemy.sql.selectable.SelectStatementGrouping
, sqlalchemy.sql.selectable.TextualSelect
A :class:`_expression.ColumnCollection` representing the columns that this SELECT statement or similar construct returns in its result set. This collection differs from the :attr:`_expression.FromClause.columns` collection of a :class:`_expression.FromClause` in that the columns within this collection cannot be directly nested inside another SELECT statement; a subquery must be applied first which provides for the necessary parenthesization required by SQL. .. note:: The :attr:`_sql.SelectBase.selected_columns` collection does not include expressions established in the columns clause using the :func:`_sql.text` construct; these are silently omitted from the collection. To use plain textual column expressions inside of a :class:`_sql.Select` construct, use the :func:`_sql.literal_column` construct. .. seealso:: :attr:`_sql.Select.selected_columns` .. versionadded:: 1.4
sqlalchemy.sql.selectable.CompoundSelect
, sqlalchemy.sql.selectable.Select
, sqlalchemy.sql.selectable.SelectStatementGrouping
, sqlalchemy.sql.selectable.TextualSelect
Ensure that the names generated by this selectbase will be disambiguated in some way, if possible.
FromClause
, *, proxy_compound_columns: Optional[ Iterable[ Sequence[ ColumnElement[ Any]]]]
= None):
(source)
¶
sqlalchemy.sql.selectable.CompoundSelect
, sqlalchemy.sql.selectable.Select
, sqlalchemy.sql.selectable.SelectStatementGrouping
, sqlalchemy.sql.selectable.TextualSelect
Populate columns into an :class:`.AliasedReturnsRows` object.
sqlalchemy.sql.selectable.CompoundSelect
reset internal collections for an incoming column being added.
sqlalchemy.sql.selectable.CompoundSelect
, sqlalchemy.sql.selectable.Select
, sqlalchemy.sql.selectable.TextualSelect
Undocumented
sqlalchemy.sql.selectable.CompoundSelect
, sqlalchemy.sql.selectable.Select
, sqlalchemy.sql.selectable.SelectStatementGrouping
, sqlalchemy.sql.selectable.TextualSelect
A sequence of expressions that correspond to what is rendered in the columns clause, including :class:`_sql.TextClause` constructs. .. versionadded:: 1.4.12 .. seealso:: :attr:`_sql.SelectBase.exported_columns`