class SelectBase(roles.SelectStatementRole, roles.DMLSelectRole, roles.CompoundElementRole, roles.InElementRole, HasCTE, Executable, SupportsCloneAnnotations, Selectable):
Known subclasses: sqlalchemy.sql.selectable.GenerativeSelect
, sqlalchemy.sql.selectable.TextualSelect
, sqlalchemy.orm.query.FromStatement
, sqlalchemy.sql.selectable.SelectStatementGrouping
Base class for SELECT statements.
This includes _expression.Select
,
_expression.CompoundSelect
and
_expression.TextualSelect
.
Method | _ensure_disambiguated_names |
Ensure that the names generated by this selectbase will be disambiguated in some way, if possible. |
Method | _generate_fromclause_column_proxies |
Undocumented |
Method | _implicit_subquery |
Undocumented |
Method | _refresh_for_new_column |
Undocumented |
Method | alias |
Return a named subquery against this _expression.SelectBase . |
Method | as_scalar |
Undocumented |
Method | exists |
Return an _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 _expression.Selectable . |
Method | scalar_subquery |
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 _expression.SelectBase . |
Class Variable | _is_select_statement |
Undocumented |
Class Variable | is_select |
Undocumented |
Property | _all_selected_columns |
A sequence of expressions that correspond to what is rendered in the columns clause, including _sql.TextClause constructs. |
Property | _from_objects |
Undocumented |
Property | c |
Undocumented |
Property | columns |
Undocumented |
Property | exported_columns |
No summary |
Property | selected_columns |
A _expression.ColumnCollection representing the columns that this SELECT statement or similar construct returns in its result set. |
Inherited from SelectStatementRole
:
Class Variable | _role_name |
Undocumented |
Inherited from StatementRole
(via SelectStatementRole
):
Class Variable | _propagate_attrs |
Undocumented |
Inherited from SQLRole
(via SelectStatementRole
, StatementRole
):
Class Variable | allows_lambda |
Undocumented |
Class Variable | uses_inspection |
Undocumented |
Inherited from SQLRole
(via SelectStatementRole
, ReturnsRowsRole
):
Class Variable | allows_lambda |
Undocumented |
Class Variable | uses_inspection |
Undocumented |
Inherited from DMLSelectRole
:
Class Variable | _role_name |
Undocumented |
Inherited from SQLRole
(via DMLSelectRole
):
Class Variable | allows_lambda |
Undocumented |
Class Variable | uses_inspection |
Undocumented |
Inherited from CompoundElementRole
:
Class Variable | _role_name |
Undocumented |
Inherited from AllowsLambdaRole
(via CompoundElementRole
):
Class Variable | allows_lambda |
Undocumented |
Inherited from SQLRole
(via CompoundElementRole
):
Class Variable | allows_lambda |
Undocumented |
Class Variable | uses_inspection |
Undocumented |
Inherited from InElementRole
:
Class Variable | _role_name |
Undocumented |
Inherited from SQLRole
(via InElementRole
):
Class Variable | allows_lambda |
Undocumented |
Class Variable | uses_inspection |
Undocumented |
Inherited from HasCTE
:
Method | add_cte |
Add a _sql.CTE to this statement object that will be independently rendered even if not referenced in the statement otherwise. |
Method | cte |
Return a new _expression.CTE , or Common Table Expression instance. |
Class Variable | _has_ctes_traverse_internals |
Undocumented |
Class Variable | _independent_ctes |
Undocumented |
Inherited from ReturnsRowsRole
(via HasCTE
, HasCTERole
):
Class Variable | _role_name |
Undocumented |
Inherited from SQLRole
(via HasCTE
, HasCTERole
, ReturnsRowsRole
):
Class Variable | allows_lambda |
Undocumented |
Class Variable | uses_inspection |
Undocumented |
Inherited from Executable
:
Method | _add_context_option |
Add a context option to this statement. |
Method | _set_compile_options |
Assign the compile options to a new value. |
Method | _update_compile_options |
update the _compile_options with new keys. |
Method | execute |
Compile and execute this .Executable . |
Method | execution_options |
Set non-SQL options for the statement which take effect during execution. |
Method | get_execution_options |
Get the non-SQL options which will take effect during execution. |
Method | options |
Apply options to this statement. |
Method | scalar |
Compile and execute this .Executable , returning the result's scalar representation. |
Class Variable | _bind |
Undocumented |
Class Variable | _executable_traverse_internals |
Undocumented |
Class Variable | _with_context_options |
Undocumented |
Class Variable | _with_options |
Undocumented |
Class Variable | is_delete |
Undocumented |
Class Variable | is_dml |
Undocumented |
Class Variable | is_insert |
Undocumented |
Class Variable | is_text |
Undocumented |
Class Variable | is_update |
Undocumented |
Class Variable | supports_execution |
Undocumented |
Instance Variable | _compile_options |
Undocumented |
Instance Variable | _execution_options |
Undocumented |
Property | _effective_plugin_target |
Undocumented |
Property | bind |
Returns the _engine.Engine or _engine.Connection to which this .Executable is bound, or None if none found. |
Inherited from StatementRole
(via Executable
):
Class Variable | _propagate_attrs |
Undocumented |
Class Variable | _role_name |
Undocumented |
Inherited from SQLRole
(via Executable
, StatementRole
):
Class Variable | allows_lambda |
Undocumented |
Class Variable | uses_inspection |
Undocumented |
Inherited from Generative
(via Executable
):
Method | _generate |
Undocumented |
Inherited from SupportsCloneAnnotations
:
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. |
Class Variable | _clone_annotations_traverse_internals |
Undocumented |
Inherited from SupportsAnnotations
(via SupportsCloneAnnotations
):
Property | _annotations_cache_key |
Undocumented |
Inherited from Selectable
:
Method | corresponding_column |
No summary |
Method | replace_selectable |
Replace all occurrences of _expression.FromClause 'old' with the given _expression.Alias object, returning a copy of this _expression.FromClause . |
Class Variable | __visit_name__ |
Undocumented |
Class Variable | is_selectable |
Undocumented |
Inherited from ReturnsRows
(via Selectable
):
Class Variable | _is_from_clause |
Undocumented |
Class Variable | _is_lateral |
Undocumented |
Class Variable | _is_returns_rows |
Undocumented |
Property | selectable |
Undocumented |
Inherited from ReturnsRowsRole
(via Selectable
, ReturnsRows
):
Class Variable | _role_name |
Undocumented |
Inherited from SQLRole
(via Selectable
, ReturnsRows
, ReturnsRowsRole
):
Class Variable | allows_lambda |
Undocumented |
Class Variable | uses_inspection |
Undocumented |
Inherited from ClauseElement
(via 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_from_container |
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 | bind |
Undocumented |
Class Variable | description |
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. |
Property | entity_namespace |
Undocumented |
Inherited from SQLRole
(via Selectable
, ReturnsRows
, ClauseElement
):
Class Variable | allows_lambda |
Undocumented |
Class Variable | uses_inspection |
Undocumented |
Inherited from SupportsWrappingAnnotations
(via 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 Selectable
, ReturnsRows
, ClauseElement
, SupportsWrappingAnnotations
):
Property | _annotations_cache_key |
Undocumented |
Inherited from MemoizedHasCacheKey
(via Selectable
, ReturnsRows
, ClauseElement
):
Method | _generate_cache_key |
return a cache key. |
Inherited from HasCacheKey
(via 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 HasCopyInternals
(via Selectable
, ReturnsRows
, ClauseElement
):
Method | _copy_internals |
Reassign internal elements to be clones of themselves. |
Inherited from Traversible
(via Selectable
, ReturnsRows
, ClauseElement
):
Method | get_children |
Return immediate child .visitors.Traversible elements of this .visitors.Traversible . |
Method | __class_getitem__ |
Undocumented |
sqlalchemy.sql.expression.CompoundSelect
, sqlalchemy.sql.expression.Select
, sqlalchemy.sql.selectable.TextualSelect
, sqlalchemy.orm.query.FromStatement
, sqlalchemy.sql.selectable.SelectStatementGrouping
sqlalchemy.sql.expression.CompoundSelect
Undocumented
Return a named subquery against this
_expression.SelectBase
.
For a _expression.SelectBase
(as opposed to a
_expression.FromClause
),
this returns a .Subquery
object which behaves mostly the
same as the _expression.Alias
object that is used with a
_expression.FromClause
.
_expression.SelectBase.alias
method is now
a synonym for the _expression.SelectBase.subquery
method.Undocumented
Return an _sql.Exists
representation of this selectable,
which can be used as a column expression.
The returned object is an instance of _sql.Exists
.
Return a 'scalar' representation of this selectable, embedded as a subquery with a label.
See Also
_expression.SelectBase.as_scalar
.
Return a LATERAL alias of this _expression.Selectable
.
The return value is the _expression.Lateral
construct also
provided by the top-level _expression.lateral
function.
See Also
:ref:`lateral_selects` - overview of usage.
Return a 'scalar' representation of this selectable, which can be used as a column expression.
The returned object is an instance of _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
_expression.SelectBase.subquery
method.
See Also
:ref:`tutorial_scalar_subquery` - in the 2.0 tutorial
:ref:`scalar_selects` - in the 1.x tutorial
Undocumented
Return a subquery of this _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, _expression.SelectBase.subquery
is equivalent to calling
the _expression.FromClause.alias
method on a FROM object; however,
as a _expression.SelectBase
object is not directly FROM object,
the _expression.SelectBase.subquery
method provides clearer semantics.
bool
=
sqlalchemy.sql.base.Executable.is_select
sqlalchemy.sql.selectable.TextualSelect
Undocumented
sqlalchemy.sql.expression.CompoundSelect
, sqlalchemy.sql.expression.Select
, sqlalchemy.sql.selectable.TextualSelect
, sqlalchemy.sql.selectable.SelectStatementGrouping
A sequence of expressions that correspond to what is rendered
in the columns clause, including _sql.TextClause
constructs.
See Also
_sql.SelectBase.exported_columns
sqlalchemy.sql.selectable.SelectStatementGrouping
Undocumented
Undocumented
A _expression.ColumnCollection
that represents the "exported"
columns of this _expression.Selectable
, not including
_sql.TextClause
constructs.
The "exported" columns for a _expression.SelectBase
object are synonymous
with the _expression.SelectBase.selected_columns
collection.
See Also
_expression.Select.exported_columns
_expression.Selectable.exported_columns
_expression.FromClause.exported_columns
sqlalchemy.sql.expression.CompoundSelect
, sqlalchemy.sql.expression.Select
, sqlalchemy.sql.selectable.TextualSelect
, sqlalchemy.sql.selectable.SelectStatementGrouping
A _expression.ColumnCollection
representing the columns that
this SELECT statement or similar construct returns in its result set.
This collection differs from the _expression.FromClause.columns
collection of a _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 _sql.SelectBase.selected_columns
collection does not
include expressions established in the columns clause using the
_sql.text
construct; these are silently omitted from the
collection. To use plain textual column expressions inside of a
_sql.Select
construct, use the _sql.literal_column
construct.
See Also
_sql.Select.selected_columns