-
- Type Parameters:
R- The record type being returned by this query
- All Superinterfaces:
Attachable,AutoCloseable,FieldLike,Flow.Publisher<R>,Iterable<R>,org.reactivestreams.Publisher<R>,Query,QueryPart,ResultQuery<R>,Serializable,Statement,TableLike<R>
- All Known Subinterfaces:
SelectConditionStep<R>,SelectConnectByAfterStartWithConditionStep<R>,SelectConnectByConditionStep<R>,SelectConnectByStep<R>,SelectCorrelatedSubqueryStep<R>,SelectDistinctOnStep<R>,SelectFinalStep<R>,SelectForJSONCommonDirectivesStep<R>,SelectForStep<R>,SelectForUpdateOfStep<R>,SelectForUpdateStep<R>,SelectForUpdateWaitStep<R>,SelectForXMLCommonDirectivesStep<R>,SelectForXMLPathDirectivesStep<R>,SelectForXMLRawDirectivesStep<R>,SelectFromStep<R>,SelectGroupByStep<R>,SelectHavingConditionStep<R>,SelectHavingStep<R>,SelectIntoStep<R>,SelectJoinStep<R>,SelectLimitAfterOffsetStep<R>,SelectLimitPercentAfterOffsetStep<R>,SelectLimitPercentStep<R>,SelectLimitStep<R>,SelectOffsetStep<R>,SelectOnConditionStep<R>,SelectOptionalOnStep<R>,SelectOptionStep<R>,SelectOrderByStep<R>,SelectQualifyConditionStep<R>,SelectQualifyStep<R>,SelectQuery<R>,SelectSeekLimitStep<R>,SelectSeekStep1<R,T1>,SelectSeekStep10<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>,SelectSeekStep11<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>,SelectSeekStep12<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>,SelectSeekStep13<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>,SelectSeekStep14<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>,SelectSeekStep15<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>,SelectSeekStep16<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>,SelectSeekStep17<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17>,SelectSeekStep18<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18>,SelectSeekStep19<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19>,SelectSeekStep2<R,T1,T2>,SelectSeekStep20<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20>,SelectSeekStep21<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21>,SelectSeekStep22<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22>,SelectSeekStep3<R,T1,T2,T3>,SelectSeekStep4<R,T1,T2,T3,T4>,SelectSeekStep5<R,T1,T2,T3,T4,T5>,SelectSeekStep6<R,T1,T2,T3,T4,T5,T6>,SelectSeekStep7<R,T1,T2,T3,T4,T5,T6,T7>,SelectSeekStep8<R,T1,T2,T3,T4,T5,T6,T7,T8>,SelectSeekStep9<R,T1,T2,T3,T4,T5,T6,T7,T8,T9>,SelectSeekStepN<R>,SelectSelectStep<R>,SelectStartWithStep<R>,SelectUnionStep<R>,SelectWhereStep<R>,SelectWindowStep<R>,SelectWithTiesAfterOffsetStep<R>,SelectWithTiesStep<R>
public interface Select<R extends Record> extends ResultQuery<R>, TableLike<R>, FieldLike
ASELECTstatement.Example:
// Assuming import static org.jooq.impl.DSL.*; using(configuration) .select(ACTOR.FIRST_NAME, ACTOR.LAST_NAME) .from(ACTOR) .fetch();Instances can be created using
DSL.select(SelectFieldOrAsterisk...), orDSLContext.selectQuery()and overloads.- Author:
- Lukas Eder
-
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description @NotNull Select<R>except(Select<? extends R> select)Apply theEXCEPT(orMINUS) set operation.@NotNull Select<R>exceptAll(Select<? extends R> select)Apply theEXCEPT ALLset operation.intfetchCount()Deprecated.- 3.5.0 - [#3356] - This method is being removed as it is confusingly different from all the other types ofResultQuery.fetch()methods, in that it modifies the originalSelectstatement by wrapping it.@NotNull List<Field<?>>getSelect()All fields selected in this query@NotNull Select<R>intersect(Select<? extends R> select)Apply theINTERSECTset operation.@NotNull Select<R>intersectAll(Select<? extends R> select)Apply theINTERSECT ALLset operation.@NotNull Select<R>union(Select<? extends R> select)Apply theUNIONset operation.@NotNull Select<R>unionAll(Select<? extends R> select)Apply theUNION ALLset operation.-
Methods inherited from interface org.jooq.Attachable
attach, configuration, detach
-
Methods inherited from interface java.util.concurrent.Flow.Publisher
subscribe
-
Methods inherited from interface org.jooq.Query
cancel, close, execute, executeAsync, executeAsync, getBindValues, getParam, getParams, getSQL, getSQL, getSQL, isExecutable
-
Methods inherited from interface org.jooq.ResultQuery
bind, bind, coerce, coerce, coerce, coerce, coerce, coerce, coerce, coerce, coerce, coerce, coerce, coerce, coerce, coerce, coerce, coerce, coerce, coerce, coerce, coerce, coerce, coerce, coerce, coerce, coerce, collect, fetch, fetch, fetch, fetch, fetch, fetch, fetch, fetch, fetch, fetch, fetch, fetch, fetch, fetch, fetchAny, fetchAny, fetchAny, fetchAny, fetchAny, fetchAny, fetchAny, fetchAny, fetchAny, fetchAny, fetchAny, fetchAny, fetchAny, fetchAny, fetchAnyArray, fetchAnyInto, fetchAnyInto, fetchAnyMap, fetchArray, fetchArray, fetchArray, fetchArray, fetchArray, fetchArray, fetchArray, fetchArray, fetchArray, fetchArray, fetchArray, fetchArray, fetchArray, fetchArrays, fetchAsync, fetchAsync, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchInto, fetchInto, fetchInto, fetchLater, fetchLater, fetchLazy, fetchLazy, fetchMany, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMaps, fetchOne, fetchOne, fetchOne, fetchOne, fetchOne, fetchOne, fetchOne, fetchOne, fetchOne, fetchOne, fetchOne, fetchOne, fetchOne, fetchOne, fetchOneArray, fetchOneInto, fetchOneInto, fetchOneMap, fetchOptional, fetchOptional, fetchOptional, fetchOptional, fetchOptional, fetchOptional, fetchOptional, fetchOptional, fetchOptional, fetchOptional, fetchOptional, fetchOptional, fetchOptional, fetchOptional, fetchOptionalArray, fetchOptionalInto, fetchOptionalInto, fetchOptionalMap, fetchResultSet, fetchSet, fetchSet, fetchSet, fetchSet, fetchSet, fetchSet, fetchSet, fetchSet, fetchSet, fetchSet, fetchSet, fetchSet, fetchSet, fetchSingle, fetchSingle, fetchSingle, fetchSingle, fetchSingle, fetchSingle, fetchSingle, fetchSingle, fetchSingle, fetchSingle, fetchSingle, fetchSingle, fetchSingle, fetchSingle, fetchSingleArray, fetchSingleInto, fetchSingleInto, fetchSingleMap, fetchSize, fetchStream, fetchStreamInto, fetchStreamInto, forEach, getRecordType, getResult, intern, intern, intern, intern, iterator, keepStatement, maxRows, poolable, queryTimeout, resultSetConcurrency, resultSetHoldability, resultSetType, spliterator, stream
-
-
-
-
Method Detail
-
union
@NotNull @Support @NotNull Select<R> union(Select<? extends R> select)
Apply theUNIONset operation.- Throws:
IllegalArgumentException- If the argument select has the same identity as this select. The jOOQ 3.x API is mutable, which means that calls to the DSL API mutate this instance. Adding this instance as an set operation argument would lead to aStackOverflowErrorwhen generating the SQL.
-
unionAll
@NotNull @Support @NotNull Select<R> unionAll(Select<? extends R> select)
Apply theUNION ALLset operation.- Throws:
IllegalArgumentException- If the argument select has the same identity as this select. The jOOQ 3.x API is mutable, which means that calls to the DSL API mutate this instance. Adding this instance as an set operation argument would lead to aStackOverflowErrorwhen generating the SQL.
-
except
@NotNull @Support({ASE,AURORA_POSTGRES,COCKROACHDB,CUBRID,DB2,DERBY,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB_10_3,MEMSQL,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLITE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @NotNull Select<R> except(Select<? extends R> select)
Apply theEXCEPT(orMINUS) set operation.- Throws:
IllegalArgumentException- If the argument select has the same identity as this select. The jOOQ 3.x API is mutable, which means that calls to the DSL API mutate this instance. Adding this instance as an set operation argument would lead to aStackOverflowErrorwhen generating the SQL.
-
exceptAll
@NotNull @Support({AURORA_POSTGRES,COCKROACHDB,CUBRID,DB2,DERBY,HSQLDB,ORACLE20C,POSTGRES,TERADATA}) @NotNull Select<R> exceptAll(Select<? extends R> select)
Apply theEXCEPT ALLset operation.- Throws:
IllegalArgumentException- If the argument select has the same identity as this select. The jOOQ 3.x API is mutable, which means that calls to the DSL API mutate this instance. Adding this instance as an set operation argument would lead to aStackOverflowErrorwhen generating the SQL.
-
intersect
@NotNull @Support({ASE,AURORA_POSTGRES,COCKROACHDB,CUBRID,DB2,DERBY,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB_10_3,MEMSQL,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLITE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @NotNull Select<R> intersect(Select<? extends R> select)
Apply theINTERSECTset operation.- Throws:
IllegalArgumentException- If the argument select has the same identity as this select. The jOOQ 3.x API is mutable, which means that calls to the DSL API mutate this instance. Adding this instance as an set operation argument would lead to aStackOverflowErrorwhen generating the SQL.
-
intersectAll
@NotNull @Support({AURORA_POSTGRES,COCKROACHDB,CUBRID,DB2,DERBY,HSQLDB,ORACLE20C,POSTGRES,TERADATA}) @NotNull Select<R> intersectAll(Select<? extends R> select)
Apply theINTERSECT ALLset operation.- Throws:
IllegalArgumentException- If the argument select has the same identity as this select. The jOOQ 3.x API is mutable, which means that calls to the DSL API mutate this instance. Adding this instance as an set operation argument would lead to aStackOverflowErrorwhen generating the SQL.
-
fetchCount
@Deprecated int fetchCount() throws DataAccessException
Deprecated.- 3.5.0 - [#3356] - This method is being removed as it is confusingly different from all the other types ofResultQuery.fetch()methods, in that it modifies the originalSelectstatement by wrapping it. In particular, this method can be easily confused withResultQuery.fetch(Field), or more concretelyfetch(count()), which has an entirely different semantics. UseDSLContext.fetchCount(Select)instead.Execute this query in the context of its attached executor and return aCOUNT(*)value.This wraps a pre-existing
SELECTquery in another one to calculate theCOUNT(*)value, without modifying the originalSELECT. An example:This is particularly useful for those databases that do not support the-- Original query: SELECT id, title FROM book WHERE title LIKE '%a%' -- Wrapped query: SELECT count(*) FROM ( SELECT id, title FROM book WHERE title LIKE '%a%' )
COUNT(*) OVER()window function to calculate total results in paged queries.- Returns:
- The
COUNT(*)result - Throws:
DataAccessException- if something went wrong executing the query
-
-