SELECT and Related Constructs ================================= The term "selectable" refers to any object that represents database rows. In SQLAlchemy, these objects descend from :class:`_expression.Selectable`, the most prominent being :class:`_expression.Select`, which represents a SQL SELECT statement. A subset of :class:`_expression.Selectable` is :class:`_expression.FromClause`, which represents objects that can be within the FROM clause of a :class:`.Select` statement. A distinguishing feature of :class:`_expression.FromClause` is the :attr:`_expression.FromClause.c` attribute, which is a namespace of all the columns contained within the FROM clause (these elements are themselves :class:`_expression.ColumnElement` subclasses). .. currentmodule:: sqlalchemy.sql.expression .. _selectable_foundational_constructors: Selectable Foundational Constructors -------------------------------------- Top level "FROM clause" and "SELECT" constructors. .. autofunction:: except_ .. autofunction:: except_all .. autofunction:: exists .. autofunction:: intersect .. autofunction:: intersect_all .. autofunction:: select .. autofunction:: table .. autofunction:: union .. autofunction:: union_all .. autofunction:: values .. _fromclause_modifier_constructors: Selectable Modifier Constructors --------------------------------- Functions listed here are more commonly available as methods from :class:`_sql.FromClause` and :class:`_sql.Selectable` elements, for example, the :func:`_sql.alias` function is usually invoked via the :meth:`_sql.FromClause.alias` method. .. autofunction:: alias .. autofunction:: cte .. autofunction:: join .. autofunction:: lateral .. autofunction:: outerjoin .. autofunction:: tablesample Selectable Class Documentation -------------------------------- The classes here are generated using the constructors listed at :ref:`selectable_foundational_constructors` and :ref:`fromclause_modifier_constructors`. .. autoclass:: Alias :members: .. autoclass:: AliasedReturnsRows :members: .. autoclass:: CompoundSelect :inherited-members: ClauseElement :members: .. autoclass:: CTE :members: .. autoclass:: Executable :members: .. autoclass:: Exists :members: .. autoclass:: FromClause :members: .. autoclass:: GenerativeSelect :members: .. autoclass:: HasCTE :members: .. autoclass:: HasPrefixes :members: .. autoclass:: HasSuffixes :members: .. autoclass:: Join :members: .. autoclass:: Lateral :members: .. autoclass:: ReturnsRows :members: :inherited-members: ClauseElement .. autoclass:: ScalarSelect :members: .. autoclass:: Select :members: :inherited-members: ClauseElement :exclude-members: memoized_attribute, memoized_instancemethod, append_correlation, append_column, append_prefix, append_whereclause, append_having, append_from, append_order_by, append_group_by .. autoclass:: Selectable :members: :inherited-members: ClauseElement .. autoclass:: SelectBase :members: :inherited-members: ClauseElement :exclude-members: memoized_attribute, memoized_instancemethod .. autoclass:: Subquery :members: .. autoclass:: TableClause :members: :inherited-members: .. autoclass:: TableSample :members: .. autoclass:: TableValuedAlias :members: .. autoclass:: TextualSelect :members: :inherited-members: .. autoclass:: Values :members: .. autoclass:: ScalarValues :members: Label Style Constants --------------------- Constants used with the :meth:`_sql.GenerativeSelect.set_label_style` method. .. autoclass:: SelectLabelStyle :members: .. seealso:: :meth:`_sql.Select.set_label_style` :meth:`_sql.Select.get_label_style`