class TableValuedAlias(Alias):
An alias against a "table valued" SQL function.
This construct provides for a SQL function that returns columns
to be used in the FROM clause of a SELECT statement. The
object is generated using the _functions.FunctionElement.table_valued
method, e.g.:
>>> from sqlalchemy import select, func >>> fn = func.json_array_elements_text('["one", "two", "three"]').table_valued("value") >>> print(select(fn.c.value)) SELECT anon_1.value FROM json_array_elements_text(:json_array_elements_text_1) AS anon_1
See Also
:ref:`tutorial_functions_table_valued` - in the :ref:`unified_tutorial`
Method | alias |
Return a new alias of this _sql.TableValuedAlias . |
Method | lateral |
Return a new _sql.TableValuedAlias with the lateral flag set, so that it renders as LATERAL. |
Method | render_derived |
Apply "render derived" to this _sql.TableValuedAlias . |
Method | _init |
Undocumented |
Method | column |
Return a column expression representing this _sql.TableValuedAlias . |
Class Variable | __visit_name__ |
Undocumented |
Class Variable | _render_derived |
Undocumented |
Class Variable | _render_derived_w_types |
Undocumented |
Class Variable | _supports_derived_columns |
Undocumented |
Class Variable | _traverse_internals |
Undocumented |
Instance Variable | _tableval_type |
Undocumented |
Inherited from Alias
:
Class Method | _factory |
Return an _expression.Alias object. |
Class Variable | inherit_cache |
Indicate if this .HasCacheKey instance should make use of the
cache key generation scheme used by its immediate superclass. |
Inherited from DMLTableRole
(via Alias
):
Class Variable | _role_name |
Undocumented |
Inherited from FromClauseRole
(via Alias
, DMLTableRole
):
Class Variable | _is_subquery |
Undocumented |
Property | _hide_froms |
Undocumented |
Inherited from ColumnsClauseRole
(via Alias
, DMLTableRole
, FromClauseRole
):
Property | _select_iterable |
Undocumented |
Inherited from AllowsLambdaRole
(via Alias
, DMLTableRole
, FromClauseRole
, ColumnsClauseRole
):
Class Variable | allows_lambda |
Undocumented |
Inherited from UsesInspection
(via Alias
, DMLTableRole
, FromClauseRole
, ColumnsClauseRole
):
Class Variable | _post_inspect |
Undocumented |
Class Variable | uses_inspection |
Undocumented |
Inherited from SQLRole
(via Alias
, DMLTableRole
, FromClauseRole
, ColumnsClauseRole
, ColumnListRole
):
Class Variable | allows_lambda |
Undocumented |
Class Variable | uses_inspection |
Undocumented |
Inherited from AllowsLambdaRole
(via Alias
, DMLTableRole
, FromClauseRole
, JoinTargetRole
):
Class Variable | allows_lambda |
Undocumented |
Inherited from UsesInspection
(via Alias
, DMLTableRole
, FromClauseRole
, JoinTargetRole
):
Class Variable | _post_inspect |
Undocumented |
Class Variable | uses_inspection |
Undocumented |
Inherited from SQLRole
(via Alias
, DMLTableRole
, FromClauseRole
, JoinTargetRole
, StructuralRole
):
Class Variable | allows_lambda |
Undocumented |
Class Variable | uses_inspection |
Undocumented |
Inherited from AliasedReturnsRows
(via Alias
):
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 | _populate_column_collection |
Called on subclasses to establish the .c collection. |
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 | 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 Alias
, AliasedReturnsRows
):
Method | __init__ |
Undocumented |
Inherited from FromClause
(via Alias
, 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 Alias
, AliasedReturnsRows
, FromClause
, AnonymizedFromClauseRole
, StrictFromClauseRole
):
Class Variable | _is_subquery |
Undocumented |
Class Variable | _role_name |
Undocumented |
Inherited from AllowsLambdaRole
(via Alias
, AliasedReturnsRows
, FromClause
, AnonymizedFromClauseRole
, StrictFromClauseRole
, FromClauseRole
, ColumnsClauseRole
):
Class Variable | allows_lambda |
Undocumented |
Inherited from UsesInspection
(via Alias
, AliasedReturnsRows
, FromClause
, AnonymizedFromClauseRole
, StrictFromClauseRole
, FromClauseRole
, ColumnsClauseRole
):
Class Variable | _post_inspect |
Undocumented |
Class Variable | uses_inspection |
Undocumented |
Inherited from SQLRole
(via Alias
, AliasedReturnsRows
, FromClause
, AnonymizedFromClauseRole
, StrictFromClauseRole
, FromClauseRole
, ColumnsClauseRole
, ColumnListRole
):
Class Variable | allows_lambda |
Undocumented |
Class Variable | uses_inspection |
Undocumented |
Inherited from AllowsLambdaRole
(via Alias
, AliasedReturnsRows
, FromClause
, AnonymizedFromClauseRole
, StrictFromClauseRole
, FromClauseRole
, JoinTargetRole
):
Class Variable | allows_lambda |
Undocumented |
Inherited from UsesInspection
(via Alias
, AliasedReturnsRows
, FromClause
, AnonymizedFromClauseRole
, StrictFromClauseRole
, FromClauseRole
, JoinTargetRole
):
Class Variable | _post_inspect |
Undocumented |
Class Variable | uses_inspection |
Undocumented |
Inherited from SQLRole
(via Alias
, AliasedReturnsRows
, FromClause
, AnonymizedFromClauseRole
, StrictFromClauseRole
, FromClauseRole
, JoinTargetRole
, StructuralRole
):
Class Variable | allows_lambda |
Undocumented |
Class Variable | uses_inspection |
Undocumented |
Inherited from Selectable
(via Alias
, AliasedReturnsRows
, FromClause
):
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 . |
Inherited from ReturnsRows
(via Alias
, 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 Alias
, AliasedReturnsRows
, FromClause
, Selectable
, ReturnsRows
):
Class Variable | _role_name |
Undocumented |
Inherited from SQLRole
(via Alias
, AliasedReturnsRows
, FromClause
, Selectable
, ReturnsRows
, ReturnsRowsRole
):
Class Variable | allows_lambda |
Undocumented |
Class Variable | uses_inspection |
Undocumented |
Inherited from ClauseElement
(via Alias
, 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 Alias
, AliasedReturnsRows
, FromClause
, Selectable
, ReturnsRows
, ClauseElement
):
Class Variable | allows_lambda |
Undocumented |
Class Variable | uses_inspection |
Undocumented |
Inherited from SupportsWrappingAnnotations
(via Alias
, 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 Alias
, AliasedReturnsRows
, FromClause
, Selectable
, ReturnsRows
, ClauseElement
, SupportsWrappingAnnotations
):
Property | _annotations_cache_key |
Undocumented |
Inherited from MemoizedHasCacheKey
(via Alias
, AliasedReturnsRows
, FromClause
, Selectable
, ReturnsRows
, ClauseElement
):
Method | _generate_cache_key |
return a cache key. |
Inherited from HasCacheKey
(via Alias
, AliasedReturnsRows
, FromClause
, Selectable
, ReturnsRows
, ClauseElement
, MemoizedHasCacheKey
):
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 Alias
, AliasedReturnsRows
, FromClause
, Selectable
, ReturnsRows
, ClauseElement
):
Method | get_children |
Return immediate child .visitors.Traversible elements of this .visitors.Traversible . |
Method | __class_getitem__ |
Undocumented |
Return a new alias of this _sql.TableValuedAlias
.
This creates a distinct FROM object that will be distinguished from the original one when used in a SQL statement.
Return a new _sql.TableValuedAlias
with the lateral flag set,
so that it renders as LATERAL.
See Also
_expression.lateral
Apply "render derived" to this _sql.TableValuedAlias
.
This has the effect of the individual column names listed out after the alias name in the "AS" sequence, e.g.:
>>> print( ... select( ... func.unnest(array(["one", "two", "three"])). table_valued("x", with_ordinality="o").render_derived() ... ) ... ) SELECT anon_1.x, anon_1.o FROM unnest(ARRAY[%(param_1)s, %(param_2)s, %(param_3)s]) WITH ORDINALITY AS anon_1(x, o)
The with_types keyword will render column types inline within the alias expression (this syntax currently applies to the PostgreSQL database):
>>> print( ... select( ... func.json_to_recordset( ... '[{"a":1,"b":"foo"},{"a":"2","c":"bar"}]' ... ) ... .table_valued(column("a", Integer), column("b", String)) ... .render_derived(with_types=True) ... ) ... ) SELECT anon_1.a, anon_1.b FROM json_to_recordset(:json_to_recordset_1) AS anon_1(a INTEGER, b VARCHAR)
Parameters | |
name | optional string name that will be applied to the alias generated. If left as None, a unique anonymizing name will be used. |
with_types | if True, the derived columns will include the datatype specification with each column. This is a special syntax currently known to be required by PostgreSQL for some SQL functions. |
Return a column expression representing this
_sql.TableValuedAlias
.
This accessor is used to implement the
_functions.FunctionElement.column_valued
method. See that
method for further details.
E.g.:
>>> print(select(func.some_func().table_valued("value").column)) SELECT anon_1 FROM some_func() AS anon_1
See Also
_functions.FunctionElement.column_valued