## Uses of Class
org.apache.cayenne.query.ColumnSelect

- Packages that use ColumnSelect
  Package | Description
  --- | ---
  org.apache.cayenne.exp | Cayenne data expression classes.
  org.apache.cayenne.exp.property | Property API
  org.apache.cayenne.query | Defines standard queries supported by Cayenne and extension mechanism to create custom queries.

- - ### Uses of ColumnSelect in org.apache.cayenne.exp

    Methods in org.apache.cayenne.exp with parameters of type ColumnSelect
    Modifier and Type | Method | Description
    --- | --- | ---
    `static Expression` | ExpressionFactory.`inExp​(Expression exp, ColumnSelect<?> subQuery)` |
    `static Expression` | ExpressionFactory.`notInExp​(Expression exp, ColumnSelect<?> subQuery)` |

  - ### Uses of ColumnSelect in org.apache.cayenne.exp.property

    Methods in org.apache.cayenne.exp.property with parameters of type ColumnSelect
    Modifier and Type | Method | Description
    --- | --- | ---
    `Expression` | BaseProperty.`in​(ColumnSelect<? extends E> subquery)` |
    `Expression` | BaseProperty.`nin​(ColumnSelect<? extends E> subquery)` |

  - ### Uses of ColumnSelect in org.apache.cayenne.query

    Methods in org.apache.cayenne.query that return ColumnSelect
    Modifier and Type | Method | Description
    --- | --- | ---
    `ColumnSelect<T>` | ColumnSelect.`and​(Collection<Expression> expressions)` | AND's provided expressions to the existing WHERE or HAVING clause expression.
    `ColumnSelect<T>` | ColumnSelect.`and​(Expression... expressions)` | AND's provided expressions to the existing WHERE clause expression.
    `ColumnSelect<Object[]>` | ColumnSelect.`avg​(NumericProperty<?> property)` | Select average value of property
    `ColumnSelect<Object[]>` | ColumnSelect.`avg​(Property<?> property)` | Deprecated. since 4.2 use `avg(NumericProperty)`
    `<E extends Number> ColumnSelect<E>` | ObjectSelect.`avg​(NumericProperty<E> property)` | Select average value of property
    `<E> ColumnSelect<E>` | ObjectSelect.`avg​(Property<E> property)` | Deprecated. since 4.2 use `ObjectSelect.avg(NumericProperty)`
    `ColumnSelect<T>` | ColumnSelect.`cacheGroup​(String cacheGroup)` |
    `ColumnSelect<T>` | ColumnSelect.`cacheStrategy​(QueryCacheStrategy strategy)` |
    `ColumnSelect<T>` | ColumnSelect.`cacheStrategy​(QueryCacheStrategy strategy, String cacheGroup)` |
    `protected <E> ColumnSelect<E>` | ColumnSelect.`column​(Property<E> property)` |
    `<E> ColumnSelect<E>` | ObjectSelect.`column​(Property<E> property)` | Select one specific property.
    `static ColumnSelect<Object[]>` | ObjectSelect.`columnQuery​(Class<?> entityType, Property<?>... columns)` | Creates a ColumnSelect that will fetch multiple columns of a given `ObjEntity`
    `static <E> ColumnSelect<E>` | ObjectSelect.`columnQuery​(Class<?> entityType, Property<E> column)` | Creates a ColumnSelect that will fetch single property that can be resolved against a given `ObjEntity` class.
    `ColumnSelect<Object[]>` | ColumnSelect.`columns​(Collection<Property<?>> properties)` | Add properties to select.
    `ColumnSelect<Object[]>` | ColumnSelect.`columns​(Property<?>... properties)` | Add properties to select.
    `ColumnSelect<Object[]>` | ObjectSelect.`columns​(Property<?>... properties)` | Select only specific properties.
    `ColumnSelect<Object[]>` | ColumnSelect.`count()` | Shortcut for `columns(Property[])` columns}(Property.COUNT)
    `ColumnSelect<Object[]>` | ColumnSelect.`count​(BaseProperty<?> property)` | Select COUNT(property)
    `ColumnSelect<Long>` | ObjectSelect.`count()` | Select COUNT(*)
    `ColumnSelect<Long>` | ObjectSelect.`count​(BaseProperty<?> property)` | Select COUNT(property)
    `ColumnSelect<T>` | ColumnSelect.`dbEntityName​(String dbEntityName)` | Sets the `DbEntity` name to fetch without changing the return type of the query.
    `ColumnSelect<T>` | ColumnSelect.`distinct()` | Explicitly request distinct in query.
    `ColumnSelect<T>` | ColumnSelect.`entityName​(String entityName)` | Sets the `ObjEntity` name to fetch without changing the return type of the query.
    `ColumnSelect<T>` | ColumnSelect.`entityType​(Class<?> entityType)` | Sets the type of the entity to fetch without changing the return type of the query.
    `ColumnSelect<T>` | ColumnSelect.`having​(String expressionString, Object... parameters)` | Appends a having qualifier expression of this query, using provided expression String and an array of position parameters.
    `ColumnSelect<T>` | ColumnSelect.`having​(Expression expression)` | Appends a having qualifier expression of this query.
    `ColumnSelect<T>` | ColumnSelect.`limit​(int fetchLimit)` | Resets query fetch limit - a parameter that defines max number of objects that should be ever be fetched from the database.
    `ColumnSelect<T>` | ColumnSelect.`localCache()` | Instructs Cayenne to look for query results in the "local" cache when running the query.
    `ColumnSelect<T>` | ColumnSelect.`localCache​(String cacheGroup)` | Instructs Cayenne to look for query results in the "local" cache when running the query.
    `<E> ColumnSelect<E>` | ColumnSelect.`map​(Function<T,​E> mapper)` | Wrap result to given class.
    `ColumnSelect<Object[]>` | ColumnSelect.`max​(ComparableProperty<?> property)` | Select maximum value of property
    `<E> ColumnSelect<E>` | ObjectSelect.`max​(ComparableProperty<E> property)` | Select maximum value of property
    `<E extends Number> ColumnSelect<E>` | ObjectSelect.`max​(NumericProperty<E> property)` | Select maximum value of property
    `ColumnSelect<Object[]>` | ColumnSelect.`min​(ComparableProperty<?> property)` | Select minimum value of property
    `<E> ColumnSelect<E>` | ObjectSelect.`min​(ComparableProperty<E> property)` | Select minimum value of property
    `<E extends Number> ColumnSelect<E>` | ObjectSelect.`min​(NumericProperty<E> property)` | Select minimum value of property
    `ColumnSelect<T>` | ColumnSelect.`offset​(int fetchOffset)` | Resets query fetch offset - a parameter that defines how many objects should be skipped when reading data from the database.
    `ColumnSelect<T>` | ColumnSelect.`or​(Collection<Expression> expressions)` | OR's provided expressions to the existing WHERE or HAVING clause expression.
    `ColumnSelect<T>` | ColumnSelect.`or​(Expression... expressions)` | OR's provided expressions to the existing WHERE clause expression.
    `ColumnSelect<T>` | ColumnSelect.`orderBy​(String property)` | Add an ascending ordering on the given property.
    `ColumnSelect<T>` | ColumnSelect.`orderBy​(String property, SortOrder sortOrder)` | Add an ordering on the given property.
    `ColumnSelect<T>` | ColumnSelect.`orderBy​(Collection<Ordering> orderings)` | Adds a list of orderings to this query.
    `ColumnSelect<T>` | ColumnSelect.`orderBy​(Ordering... orderings)` | Add one or more orderings to this query.
    `ColumnSelect<T>` | ColumnSelect.`pageSize​(int pageSize)` | Resets query page size.
    `ColumnSelect<T>` | ColumnSelect.`prefetch​(String path, int semantics)` | Merges a prefetch path with specified semantics into the query prefetch tree.
    `ColumnSelect<T>` | ColumnSelect.`prefetch​(PrefetchTreeNode prefetch)` | Merges prefetch into the query prefetch tree.
    `ColumnSelect<T>` | ColumnSelect.`queryTimeout​(int timeout)` | Sets query timeout of PreparedStatement generated for this query.
    `ColumnSelect<T>` | ColumnSelect.`sharedCache()` | Instructs Cayenne to look for query results in the "shared" cache when running the query.
    `ColumnSelect<T>` | ColumnSelect.`sharedCache​(String cacheGroup)` | Instructs Cayenne to look for query results in the "shared" cache when running the query.
    `ColumnSelect<T>` | ColumnSelect.`statementFetchSize​(int size)` | Sets fetch size of the PreparedStatement generated for this query.
    `<E extends Number> ColumnSelect<Object[]>` | ColumnSelect.`sum​(NumericProperty<E> property)` | Select sum of values
    `<E extends Number> ColumnSelect<Object[]>` | ColumnSelect.`sum​(Property<E> property)` | Deprecated. since 4.2 use `sum(NumericProperty)`
    `<E extends Number> ColumnSelect<E>` | ObjectSelect.`sum​(NumericProperty<E> property)` | Select sum of values
    `<E extends Number> ColumnSelect<E>` | ObjectSelect.`sum​(Property<E> property)` | Deprecated. since 4.2 use `ObjectSelect.sum(NumericProperty)`
    `ColumnSelect<T>` | ColumnSelect.`suppressDistinct()` | Explicitly suppress distinct in query.
    `ColumnSelect<T>` | ColumnSelect.`where​(String expressionString, Object... parameters)` | Appends a qualifier expression of this query, using provided expression String and an array of position parameters.
    `ColumnSelect<T>` | ColumnSelect.`where​(Expression expression)` | Appends a qualifier expression of this query.