pub trait SelectableExpression<QS>: AppearsOnTable<QS>
where QS: ?Sized,
{ }
Expand description

Indicates that an expression can be selected from a source.

Columns will implement this for their table. Certain special types, like CountStar and Bound will implement this for all sources. Most compound expressions will implement this if each of their parts implement it.

Notably, columns will not implement this trait for the right side of a left join. To select a column or expression using a column from the right side of a left join, you must call .nullable() on it.

Implementations on Foreign Types§

source§

impl<'a, T, QS> SelectableExpression<QS> for &'a T

source§

impl<T0, QS> SelectableExpression<QS> for (T0,)

source§

impl<T0, T1, QS> SelectableExpression<QS> for (T0, T1)

source§

impl<T0, T1, T2, QS> SelectableExpression<QS> for (T0, T1, T2)

source§

impl<T0, T1, T2, T3, QS> SelectableExpression<QS> for (T0, T1, T2, T3)

source§

impl<T0, T1, T2, T3, T4, QS> SelectableExpression<QS> for (T0, T1, T2, T3, T4)

source§

impl<T0, T1, T2, T3, T4, T5, QS> SelectableExpression<QS> for (T0, T1, T2, T3, T4, T5)

source§

impl<T0, T1, T2, T3, T4, T5, T6, QS> SelectableExpression<QS> for (T0, T1, T2, T3, T4, T5, T6)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, QS> SelectableExpression<QS> for (T0, T1, T2, T3, T4, T5, T6, T7)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, QS> SelectableExpression<QS> for (T0, T1, T2, T3, T4, T5, T6, T7, T8)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, QS> SelectableExpression<QS> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, QS> SelectableExpression<QS> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, QS> SelectableExpression<QS> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, QS> SelectableExpression<QS> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, QS> SelectableExpression<QS> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, QS> SelectableExpression<QS> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, QS> SelectableExpression<QS> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)

source§

impl<T, QS> SelectableExpression<QS> for Box<T>
where T: SelectableExpression<QS> + ?Sized, Box<T>: AppearsOnTable<QS>,

Implementors§

source§

impl<L, R, QS> SelectableExpression<QS> for Concat<L, R>

source§

impl<QS> SelectableExpression<QS> for now
where now: AppearsOnTable<QS>,

source§

impl<QS> SelectableExpression<QS> for today
where today: AppearsOnTable<QS>,

source§

impl<QS, Query, Value> SelectableExpression<QS> for UncheckedBind<Query, Value>
where UncheckedBind<Query, Value>: AppearsOnTable<QS>,

source§

impl<QS, ST, T> SelectableExpression<QS> for SqlLiteral<ST, T>
where SqlLiteral<ST, T>: Expression,

source§

impl<S, C> SelectableExpression<Alias<S>> for AliasedField<S, C>
where S: AliasSource, C: Column<Table = <S as AliasSource>::Target>, AliasedField<S, C>: AppearsOnTable<Alias<S>>,

source§

impl<ST, I, QS> SelectableExpression<QS> for Many<ST, I>
where Many<ST, I>: AppearsOnTable<QS>, ST: SingleValue, I: AsExpression<ST>, <I as AsExpression<ST>>::Expression: SelectableExpression<QS>,

source§

impl<T, QS> SelectableExpression<QS> for Exists<T>
where Exists<T>: AppearsOnTable<QS>, Subselect<T, Bool>: SelectableExpression<QS>,

source§

impl<T, U, QS> SelectableExpression<QS> for In<T, U>

source§

impl<T, U, QS> SelectableExpression<QS> for NotIn<T, U>