public interface SelectOnConditionStep<R extends Record> extends SelectJoinStep<R>
Select's DSL API when selecting generic
Record types.
Example: Its equivalent in jOOQ
-- get all authors' first and last names, and the number
-- of books they've written in German, if they have written
-- more than five books in German in the last three years
-- (from 2011), and sort those authors by last names
-- limiting results to the second and third row
SELECT T_AUTHOR.FIRST_NAME, T_AUTHOR.LAST_NAME, COUNT(*)
FROM T_AUTHOR
JOIN T_BOOK ON T_AUTHOR.ID = T_BOOK.AUTHOR_ID
WHERE T_BOOK.LANGUAGE = 'DE'
AND T_BOOK.PUBLISHED > '2008-01-01'
GROUP BY T_AUTHOR.FIRST_NAME, T_AUTHOR.LAST_NAME
HAVING COUNT(*) > 5
ORDER BY T_AUTHOR.LAST_NAME ASC NULLS FIRST
LIMIT 2
OFFSET 1
FOR UPDATE
OF FIRST_NAME, LAST_NAME
NO WAIT
Refer to the manual for more details
create.select(TAuthor.FIRST_NAME, TAuthor.LAST_NAME, create.count())
.from(T_AUTHOR)
.join(T_BOOK).on(TBook.AUTHOR_ID.equal(TAuthor.ID))
.where(TBook.LANGUAGE.equal("DE"))
.and(TBook.PUBLISHED.greaterThan(parseDate('2008-01-01')))
.groupBy(TAuthor.FIRST_NAME, TAuthor.LAST_NAME)
.having(create.count().greaterThan(5))
.orderBy(TAuthor.LAST_NAME.asc().nullsFirst())
.limit(2)
.offset(1)
.forUpdate()
.of(TAuthor.FIRST_NAME, TAuthor.LAST_NAME)
.noWait();
XYZ*Step types directly from client code
It is usually not recommended to reference any XYZ*Step types
directly from client code, or assign them to local variables. When writing
dynamic SQL, creating a statement's components dynamically, and passing them
to the DSL API statically is usually a better choice. See the manual's
section about dynamic SQL for details: https://www.jooq.org/doc/latest/manual/sql-building/dynamic-sql.
Drawbacks of referencing the XYZ*Step types directly:
| Modifier and Type | Method and Description |
|---|---|
SelectOnConditionStep<R> |
and(Boolean condition)
Deprecated.
- 3.8.0 - [#4763] - Use
and(Condition) or
and(Field) instead. Due to ambiguity between
calling this method using Field.equals(Object)
argument, vs. calling the other method via a
Field.equal(Object) argument, this method will be
removed in the future. |
SelectOnConditionStep<R> |
and(Condition condition)
Combine the currently assembled conditions with another one using the
Operator.AND operator and proceed to the next step. |
SelectOnConditionStep<R> |
and(Field<Boolean> condition)
Combine the currently assembled conditions with another one using the
Operator.AND operator and proceed to the next step. |
SelectOnConditionStep<R> |
and(SQL sql)
Combine the currently assembled conditions with another one using the
Operator.AND operator and proceed to the next step. |
SelectOnConditionStep<R> |
and(String sql)
Combine the currently assembled conditions with another one using the
Operator.AND operator and proceed to the next step. |
SelectOnConditionStep<R> |
and(String sql,
Object... bindings)
Combine the currently assembled conditions with another one using the
Operator.AND operator and proceed to the next step. |
SelectOnConditionStep<R> |
and(String sql,
QueryPart... parts)
Combine the currently assembled conditions with another one using the
Operator.AND operator and proceed to the next step. |
SelectOnConditionStep<R> |
andExists(Select<?> select)
Combine the currently assembled conditions with an EXISTS clause using
the
Operator.AND operator and proceed to the next step. |
SelectOnConditionStep<R> |
andNot(Boolean condition)
Deprecated.
- 3.8.0 - [#4763] - Use
andNot(Condition) or
andNot(Field) instead. Due to ambiguity between
calling this method using Field.equals(Object)
argument, vs. calling the other method via a
Field.equal(Object) argument, this method will be
removed in the future. |
SelectOnConditionStep<R> |
andNot(Condition condition)
Combine the currently assembled conditions with a negated other one using
the
Operator.AND operator and proceed to the next step. |
SelectOnConditionStep<R> |
andNot(Field<Boolean> condition)
Combine the currently assembled conditions with a negated other one using
the
Operator.AND operator and proceed to the next step. |
SelectOnConditionStep<R> |
andNotExists(Select<?> select)
Combine the currently assembled conditions with a NOT EXISTS clause using
the
Operator.AND operator and proceed to the next step. |
SelectOnConditionStep<R> |
or(Boolean condition)
Deprecated.
- 3.8.0 - [#4763] - Use
or(Condition) or
or(Field) instead. Due to ambiguity between
calling this method using Field.equals(Object)
argument, vs. calling the other method via a
Field.equal(Object) argument, this method will be
removed in the future. |
SelectOnConditionStep<R> |
or(Condition condition)
Combine the currently assembled conditions with another one using the
Operator.OR operator and proceed to the next step. |
SelectOnConditionStep<R> |
or(Field<Boolean> condition)
Combine the currently assembled conditions with another one using the
Operator.OR operator and proceed to the next step. |
SelectOnConditionStep<R> |
or(SQL sql)
Combine the currently assembled conditions with another one using the
Operator.OR operator and proceed to the next step. |
SelectOnConditionStep<R> |
or(String sql)
Combine the currently assembled conditions with another one using the
Operator.OR operator and proceed to the next step. |
SelectOnConditionStep<R> |
or(String sql,
Object... bindings)
Combine the currently assembled conditions with another one using the
Operator.OR operator and proceed to the next step. |
SelectOnConditionStep<R> |
or(String sql,
QueryPart... parts)
Combine the currently assembled conditions with another one using the
Operator.OR operator and proceed to the next step. |
SelectOnConditionStep<R> |
orExists(Select<?> select)
Combine the currently assembled conditions with an EXISTS clause using
the
Operator.OR operator and proceed to the next step. |
SelectOnConditionStep<R> |
orNot(Boolean condition)
Deprecated.
- 3.8.0 - [#4763] - Use
orNot(Condition) or
orNot(Field) instead. Due to ambiguity between
calling this method using Field.equals(Object)
argument, vs. calling the other method via a
Field.equal(Object) argument, this method will be
removed in the future. |
SelectOnConditionStep<R> |
orNot(Condition condition)
Combine the currently assembled conditions with a negated other one using
the
Operator.OR operator and proceed to the next step. |
SelectOnConditionStep<R> |
orNot(Field<Boolean> condition)
Combine the currently assembled conditions with a negated other one using
the
Operator.OR operator and proceed to the next step. |
SelectOnConditionStep<R> |
orNotExists(Select<?> select)
Combine the currently assembled conditions with a NOT EXISTS clause using
the
Operator.OR operator and proceed to the next step. |
crossApply, crossApply, crossApply, crossApply, crossApply, crossApply, crossJoin, crossJoin, crossJoin, crossJoin, crossJoin, crossJoin, fullJoin, fullJoin, fullJoin, fullJoin, fullJoin, fullJoin, fullOuterJoin, fullOuterJoin, fullOuterJoin, fullOuterJoin, fullOuterJoin, fullOuterJoin, innerJoin, innerJoin, innerJoin, innerJoin, innerJoin, innerJoin, join, join, join, join, join, join, join, leftAntiJoin, leftJoin, leftJoin, leftJoin, leftJoin, leftJoin, leftJoin, leftOuterJoin, leftOuterJoin, leftOuterJoin, leftOuterJoin, leftOuterJoin, leftOuterJoin, leftSemiJoin, naturalJoin, naturalJoin, naturalJoin, naturalJoin, naturalJoin, naturalJoin, naturalLeftOuterJoin, naturalLeftOuterJoin, naturalLeftOuterJoin, naturalLeftOuterJoin, naturalLeftOuterJoin, naturalLeftOuterJoin, naturalRightOuterJoin, naturalRightOuterJoin, naturalRightOuterJoin, naturalRightOuterJoin, naturalRightOuterJoin, naturalRightOuterJoin, outerApply, outerApply, outerApply, outerApply, outerApply, outerApply, rightJoin, rightJoin, rightJoin, rightJoin, rightJoin, rightJoin, rightOuterJoin, rightOuterJoin, rightOuterJoin, rightOuterJoin, rightOuterJoin, rightOuterJoin, straightJoin, straightJoin, straightJoin, straightJoin, straightJoin, straightJoinwhere, where, where, where, where, where, where, where, where, whereExists, whereNotExistsconnectBy, connectBy, connectBy, connectBy, connectBy, connectBy, connectBy, connectByNoCycle, connectByNoCycle, connectByNoCycle, connectByNoCycle, connectByNoCycle, connectByNoCycle, connectByNoCycle, startWith, startWith, startWith, startWith, startWith, startWith, startWithgroupBy, groupByhaving, having, having, having, having, having, having, having, havingwindow, windoworderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderSiblingsBy, orderSiblingsBy, orderSiblingsBylimit, limit, limit, limit, limit, limit, offset, offsetforShare, forUpdate, withCheckOption, withReadOnlyoptionexcept, exceptAll, intersect, intersectAll, union, unionAllgetQueryfetchCount, getSelectbind, bind, 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, queryTimeout, resultSetConcurrency, resultSetHoldability, resultSetType, spliterator, streamcancel, close, execute, executeAsync, executeAsync, getBindValues, getParam, getParams, getSQL, getSQL, getSQL, isExecutableattach, configuration, detach@Support SelectOnConditionStep<R> and(Condition condition)
Operator.AND operator and proceed to the next step.@Support SelectOnConditionStep<R> and(Field<Boolean> condition)
Operator.AND operator and proceed to the next step.@Deprecated @Support SelectOnConditionStep<R> and(Boolean condition)
and(Condition) or
and(Field) instead. Due to ambiguity between
calling this method using Field.equals(Object)
argument, vs. calling the other method via a
Field.equal(Object) argument, this method will be
removed in the future.Operator.AND operator and proceed to the next step.@Support @PlainSQL SelectOnConditionStep<R> and(SQL sql)
Operator.AND operator and proceed to the next step.
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
DSL.condition(SQL),
SQL@Support @PlainSQL SelectOnConditionStep<R> and(String sql)
Operator.AND operator and proceed to the next step.
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
DSL.condition(String),
SQL@Support @PlainSQL SelectOnConditionStep<R> and(String sql, Object... bindings)
Operator.AND operator and proceed to the next step.
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
@Support @PlainSQL SelectOnConditionStep<R> and(String sql, QueryPart... parts)
Operator.AND operator and proceed to the next step.
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
@Support SelectOnConditionStep<R> andNot(Condition condition)
Operator.AND operator and proceed to the next step.@Support SelectOnConditionStep<R> andNot(Field<Boolean> condition)
Operator.AND operator and proceed to the next step.@Deprecated @Support SelectOnConditionStep<R> andNot(Boolean condition)
andNot(Condition) or
andNot(Field) instead. Due to ambiguity between
calling this method using Field.equals(Object)
argument, vs. calling the other method via a
Field.equal(Object) argument, this method will be
removed in the future.Operator.AND operator and proceed to the next step.@Support SelectOnConditionStep<R> andExists(Select<?> select)
Operator.AND operator and proceed to the next step.@Support SelectOnConditionStep<R> andNotExists(Select<?> select)
Operator.AND operator and proceed to the next step.@Support SelectOnConditionStep<R> or(Condition condition)
Operator.OR operator and proceed to the next step.@Support SelectOnConditionStep<R> or(Field<Boolean> condition)
Operator.OR operator and proceed to the next step.@Deprecated @Support SelectOnConditionStep<R> or(Boolean condition)
or(Condition) or
or(Field) instead. Due to ambiguity between
calling this method using Field.equals(Object)
argument, vs. calling the other method via a
Field.equal(Object) argument, this method will be
removed in the future.Operator.OR operator and proceed to the next step.@Support @PlainSQL SelectOnConditionStep<R> or(SQL sql)
Operator.OR operator and proceed to the next step.
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
DSL.condition(SQL),
SQL@Support @PlainSQL SelectOnConditionStep<R> or(String sql)
Operator.OR operator and proceed to the next step.
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
DSL.condition(String),
SQL@Support @PlainSQL SelectOnConditionStep<R> or(String sql, Object... bindings)
Operator.OR operator and proceed to the next step.
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
@Support @PlainSQL SelectOnConditionStep<R> or(String sql, QueryPart... parts)
Operator.OR operator and proceed to the next step.
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
@Support SelectOnConditionStep<R> orNot(Condition condition)
Operator.OR operator and proceed to the next step.@Support SelectOnConditionStep<R> orNot(Field<Boolean> condition)
Operator.OR operator and proceed to the next step.@Deprecated @Support SelectOnConditionStep<R> orNot(Boolean condition)
orNot(Condition) or
orNot(Field) instead. Due to ambiguity between
calling this method using Field.equals(Object)
argument, vs. calling the other method via a
Field.equal(Object) argument, this method will be
removed in the future.Operator.OR operator and proceed to the next step.@Support SelectOnConditionStep<R> orExists(Select<?> select)
Operator.OR operator and proceed to the next step.@Support SelectOnConditionStep<R> orNotExists(Select<?> select)
Operator.OR operator and proceed to the next step.Copyright © 2019. All rights reserved.