- java.lang.Object
-
- org.jooq.impl.TableImpl<R>
-
- org.jooq.impl.CustomTable<R>
-
- All Implemented Interfaces:
Serializable
,Named
,QueryPart
,QueryPartInternal
,Table<R>
,TableLike<R>
public abstract class CustomTable<R extends TableRecord<R>> extends TableImpl<R>
A base class for customTable
implementations in client code.Client code may provide proper
Refer to this method's Javadoc for further details about its expected behaviour.Table
implementations extending this useful base class. All necessary parts of theTable
interface are already implemented. Only this method needs further implementation:Use this base class when providing custom tables to any of the following methods:
- Author:
- Lukas Eder
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.jooq.impl.TableImpl
parameters
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
CustomTable(String name)
Deprecated.- 3.10 - [#5996] - UseCustomTable(Name)
instead.protected
CustomTable(String name, Schema schema)
Deprecated.- 3.10 - [#5996] - UseCustomTable(Name, Schema)
instead.protected
CustomTable(Name name)
protected
CustomTable(Name name, Schema schema)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description Table<R>
as(String alias)
Create an alias for this table.Table<R>
as(String alias, String... fieldAliases)
Create an alias for this table and its fields.Table<R>
as(String alias, BiFunction<? super Field<?>,? super Integer,? extends String> aliasFunction)
Create an alias for this table and its fields.Table<R>
as(String alias, Function<? super Field<?>,? extends String> aliasFunction)
Create an alias for this table and its fields.Table<R>
as(Name alias, BiFunction<? super Field<?>,? super Integer,? extends Name> aliasFunction)
Create an alias for this table and its fields.Table<R>
as(Name alias, Function<? super Field<?>,? extends Name> aliasFunction)
Create an alias for this table and its fields.Table<R>
as(Table<?> otherTable)
Create an alias for this table based on another table's name.Table<R>
as(Table<?> otherTable, BiFunction<? super Field<?>,? super Integer,? extends Field<?>> aliasFunction)
Create an alias for this table and its fields.Table<R>
as(Table<?> otherTable, Function<? super Field<?>,? extends Field<?>> aliasFunction)
Create an alias for this table and its fields.Table<R>
as(Table<?> otherTable, Field<?>... otherFields)
Create an alias for this table based on another table's name.Table<R>
asOfScn(Number scn)
Create anSQLDialect.ORACLE
flashback query clause from this table.Table<R>
asOfScn(Field<? extends Number> scn)
Create anSQLDialect.ORACLE
flashback query clause from this table.Table<R>
asOfTimestamp(Timestamp timestamp)
Create anSQLDialect.ORACLE
flashback query clause from this table.Table<R>
asOfTimestamp(Field<Timestamp> timestamp)
Create anSQLDialect.ORACLE
flashback query clause from this table.Table<R>
asTable()
The underlying table representation of this object.Table<R>
asTable(String alias)
The underlying aliased table representation of this object.Table<R>
asTable(String alias, String... fieldAliases)
The underlying aliased table representation of this object.Table<R>
asTable(String alias, BiFunction<? super Field<?>,? super Integer,? extends String> aliasFunction)
The underlying aliased table representation of this object.Table<R>
asTable(String alias, Function<? super Field<?>,? extends String> aliasFunction)
The underlying aliased table representation of this object.QualifiedAsterisk
asterisk()
Create a qualified asterisk expression from this table (table.*
) for use withSELECT
.Table<R>
at(String link)
A table reference of this table at a givenLink
.Table<R>
at(Link link)
A table reference of this table at a givenLink
.Table<R>
at(Name link)
A table reference of this table at a givenLink
.void
bind(BindContext context)
Deprecated.- 3.4.0 - [#2694] - UseQueryPartInternal.accept(Context)
instead.protected DSLContext
create()
Deprecated.- 3.11.0 - [#6722] - UseAttachable.configuration()
andConfiguration.dsl()
instead.protected DSLContext
create(Configuration configuration)
Deprecated.- 3.11.0 - [#6722] - UseAttachable.configuration()
andConfiguration.dsl()
instead.protected DSLContext
create(Context<?> ctx)
Deprecated.- 3.11.0 - [#6722] - UseAttachable.configuration()
andConfiguration.dsl()
instead.protected <T> TableField<R,T>
createField(String name, DataType<T> type)
Deprecated.- 3.12.0 - [#8000] - UsecreateField(Name, DataType)
instead.protected <T> TableField<R,T>
createField(String name, DataType<T> type, String comment)
Deprecated.- 3.12.0 - [#8000] - UsecreateField(Name, DataType, String)
instead.protected <T,U>
TableField<R,U>createField(String name, DataType<T> type, String comment, Binding<T,U> binding)
Deprecated.- 3.12.0 - [#8000] - UsecreateField(Name, DataType, String, Binding)
instead.protected <T,U>
TableField<R,U>createField(String name, DataType<T> type, String comment, Converter<T,U> converter)
Deprecated.- 3.12.0 - [#8000] - UsecreateField(Name, DataType, String, Converter)
instead.protected <T,X,U>
TableField<R,U>createField(String name, DataType<T> type, String comment, Converter<X,U> converter, Binding<T,X> binding)
Deprecated.- 3.12.0 - [#8000] - UsecreateField(Name, DataType, String, Converter, Binding)
instead.protected static <R extends Record,T>
TableField<R,T>createField(String name, DataType<T> type, Table<R> table)
Deprecated.- 3.12.0 - [#8000] - UseAbstractTable.createField(Name, DataType, Table)
instead.protected static <R extends Record,T>
TableField<R,T>createField(String name, DataType<T> type, Table<R> table, String comment)
Deprecated.- 3.12.0 - [#8000] - UseAbstractTable.createField(Name, DataType, Table, String)
instead.protected static <R extends Record,T,U>
TableField<R,U>createField(String name, DataType<T> type, Table<R> table, String comment, Binding<T,U> binding)
Deprecated.- 3.12.0 - [#8000] - UseAbstractTable.createField(Name, DataType, Table, String, Binding)
instead.protected static <R extends Record,T,U>
TableField<R,U>createField(String name, DataType<T> type, Table<R> table, String comment, Converter<T,U> converter)
Deprecated.- 3.12.0 - [#8000] - UseAbstractTable.createField(Name, DataType, Table, String, Converter)
instead.protected static <R extends Record,T,X,U>
TableField<R,U>createField(String name, DataType<T> type, Table<R> table, String comment, Converter<X,U> converter, Binding<T,X> binding)
Deprecated.- 3.12.0 - [#8000] - UseAbstractTable.createField(Name, DataType, Table, String, Converter, Binding)
instead.protected <T> TableField<R,T>
createField(Name name, DataType<T> type)
Subclasses may call this method to createTableField
objects that are linked to this table.protected <T> TableField<R,T>
createField(Name name, DataType<T> type, String comment)
Subclasses may call this method to createTableField
objects that are linked to this table.protected <T,U>
TableField<R,U>createField(Name name, DataType<T> type, String comment, Binding<T,U> binding)
Subclasses may call this method to createTableField
objects that are linked to this table.protected <T,U>
TableField<R,U>createField(Name name, DataType<T> type, String comment, Converter<T,U> converter)
Subclasses may call this method to createTableField
objects that are linked to this table.protected <T,X,U>
TableField<R,U>createField(Name name, DataType<T> type, String comment, Converter<X,U> converter, Binding<T,X> binding)
Subclasses may call this method to createTableField
objects that are linked to this table.protected static <R extends Record,T>
TableField<R,T>createField(Name name, DataType<T> type, Table<R> table)
Subclasses may call this method to createTableField
objects that are linked to this table.protected static <R extends Record,T>
TableField<R,T>createField(Name name, DataType<T> type, Table<R> table, String comment)
Subclasses may call this method to createTableField
objects that are linked to this table.protected static <R extends Record,T,U>
TableField<R,U>createField(Name name, DataType<T> type, Table<R> table, String comment, Binding<T,U> binding)
Subclasses may call this method to createTableField
objects that are linked to this table.protected static <R extends Record,T,U>
TableField<R,U>createField(Name name, DataType<T> type, Table<R> table, String comment, Converter<T,U> converter)
Subclasses may call this method to createTableField
objects that are linked to this table.protected static <R extends Record,T,X,U>
TableField<R,U>createField(Name name, DataType<T> type, Table<R> table, String comment, Converter<X,U> converter, Binding<T,X> binding)
Subclasses may call this method to createTableField
objects that are linked to this table.Table<Record>
crossApply(String sql)
CROSS APPLY
a table to this table.Table<Record>
crossApply(String sql, Object... bindings)
CROSS APPLY
a table to this table.Table<Record>
crossApply(String sql, QueryPart... parts)
CROSS APPLY
a table to this table.Table<Record>
crossApply(Name name)
CROSS APPLY
a table to this table.Table<Record>
crossApply(SQL sql)
CROSS APPLY
a table to this table.Table<Record>
crossApply(TableLike<?> table)
CROSS APPLY
a table to this table.Table<Record>
crossJoin(String sql)
CROSS JOIN
a table to this table.Table<Record>
crossJoin(String sql, Object... bindings)
CROSS JOIN
a table to this table.Table<Record>
crossJoin(String sql, QueryPart... parts)
CROSS JOIN
a table to this table.Table<Record>
crossJoin(Name name)
CROSS JOIN
a table to this table.Table<Record>
crossJoin(SQL sql)
CROSS JOIN
a table to this table.Table<Record>
crossJoin(TableLike<?> table)
CROSS JOIN
a table to this table.boolean
declaresCTE()
Subclasses may override thisboolean
declaresFields()
Subclasses may override thisboolean
declaresTables()
Subclasses may override thisboolean
declaresWindows()
Subclasses may override thisDivideByOnStep
divideBy(Table<?> divisor)
Create a newTABLE
reference from this table, applying relational division.Condition
eq(Table<R> that)
Create a predicate comparing records from self-joined tables.Condition
equal(Table<R> that)
Create a predicate comparing records from self-joined tables.Field<?>
field(int index)
Get a specific field from this table, if this table knows its field references.<T> Field<T>
field(int index, Class<T> type)
Get a specific field from this table and coerce it totype
, if this table knows its field references.<T> Field<T>
field(int index, DataType<T> dataType)
Get a specific field from this table and coerce it todataType
, if this table knows its field references.Field<?>
field(String string)
Get a specific field from this table, if this table knows its field references.<T> Field<T>
field(String name, Class<T> type)
Get a specific field from this table and coerce it totype
, if this table knows its field references.<T> Field<T>
field(String name, DataType<T> dataType)
Get a specific field from this table and coerce it todataType
, if this table knows its field references.<T> Field<T>
field(Field<T> field)
Get a specific field from this table, if this table knows its field references.Field<?>
field(Name name)
Get a specific field from this table, if this table knows its field references.<T> Field<T>
field(Name name, Class<T> type)
Get a specific field from this table and coerce it totype
, if this table knows its field references.<T> Field<T>
field(Name name, DataType<T> dataType)
Get a specific field from this table and coerce it todataType
, if this table knows its field references.Field<?>[]
fields()
Get all fields from this table, if this table knows its field references, or an empty array otherwise.Field<?>[]
fields(int... fieldIndexes)
Get all fields from this table, providing some field indexes, if this table knows its field references.Field<?>[]
fields(String... fieldNames)
Get all fields from this table, providing some field names, if this table knows its field references.Field<?>[]
fields(Field<?>... fields)
Get all fields from this table, providing some fields, if this table knows its field references.Field<?>[]
fields(Name... fieldNames)
Get all fields from this table, providing some field names, if this table knows its field references.Stream<Field<?>>
fieldStream()
Get this table's fields as aStream
, if this table knows its field references.Table<R>
forceIndex(String... indexes)
Specify a MySQL style table hint for query optimisation.Table<R>
forceIndexForGroupBy(String... indexes)
Specify a MySQL style table hint for query optimisation.Table<R>
forceIndexForJoin(String... indexes)
Specify a MySQL style table hint for query optimisation.Table<R>
forceIndexForOrderBy(String... indexes)
Specify a MySQL style table hint for query optimisation.R
from(Record record)
The inverse operation ofRecord.into(Table)
.TableOnStep<Record>
fullJoin(String sql)
FULL OUTER JOIN
a table to this table.TableOnStep<Record>
fullJoin(String sql, Object... bindings)
FULL OUTER JOIN
a table to this table.TableOnStep<Record>
fullJoin(String sql, QueryPart... parts)
FULL OUTER JOIN
a table to this table.TableOnStep<Record>
fullJoin(Name name)
FULL OUTER JOIN
a table to this table.TableOnStep<Record>
fullJoin(SQL sql)
FULL OUTER JOIN
a table to this table.TableOnStep<Record>
fullJoin(TableLike<?> table)
FULL OUTER JOIN
a table to this table.TableOnStep<Record>
fullOuterJoin(String sql)
FULL OUTER JOIN
a table to this table.TableOnStep<Record>
fullOuterJoin(String sql, Object... bindings)
FULL OUTER JOIN
a table to this table.TableOnStep<Record>
fullOuterJoin(String sql, QueryPart... parts)
FULL OUTER JOIN
a table to this table.TableOnStep<Record>
fullOuterJoin(Name name)
FULL OUTER JOIN
a table to this table.TableOnStep<Record>
fullOuterJoin(SQL sql)
FULL OUTER JOIN
a table to this table.TableOnStep<Record>
fullOuterJoin(TableLike<?> table)
FULL OUTER JOIN
a table to this table.boolean
generatesCast()
Subclasses may override thisCatalog
getCatalog()
Get the table catalog.String
getComment()
The comment on this object.DataType<R>
getDataType()
The table's record type as a UDT data type, in case the underlying database supports table records as UDT records.Identity<R,?>
getIdentity()
Retrieve the table'sIDENTITY
information, if available.List<Index>
getIndexes()
Retrieve all of the table's indexes.List<UniqueKey<R>>
getKeys()
Retrieve all of the table's unique keys.String
getName()
The unqualified name of this object.UniqueKey<R>
getPrimaryKey()
Retrieve the table's primary keyName
getQualifiedName()
The qualified name of this object.TableField<R,?>
getRecordTimestamp()
A "timestamp" field holding record timestamp information used for optimistic lockingabstract Class<? extends R>
getRecordType()
Subclasses must implement this method Subclasses must override this method if they use the generic type parameterfor other types than Record
TableField<R,?>
getRecordVersion()
A "version" field holding record version information used for optimistic lockingList<ForeignKey<R,?>>
getReferences()
Get the list ofFOREIGN KEY
's of this table<O extends Record>
List<ForeignKey<O,R>>getReferencesFrom(Table<O> other)
Get a list ofFOREIGN KEY
's of a specific table, referencing a this table.<O extends Record>
List<ForeignKey<R,O>>getReferencesTo(Table<O> other)
Get a list ofFOREIGN KEY
's of this table, referencing a specific table.Schema
getSchema()
Get the table schema.Name
getUnqualifiedName()
The unqualified name of this object.int
hashCode()
Generate a hash code from thisQueryPart
.Table<R>
ignoreIndex(String... indexes)
Specify a MySQL style table hint for query optimisation.Table<R>
ignoreIndexForGroupBy(String... indexes)
Specify a MySQL style table hint for query optimisation.Table<R>
ignoreIndexForJoin(String... indexes)
Specify a MySQL style table hint for query optimisation.Table<R>
ignoreIndexForOrderBy(String... indexes)
Specify a MySQL style table hint for query optimisation.int
indexOf(String fieldName)
Get a field's index from this table.int
indexOf(Field<?> field)
Get a field's index from this table.int
indexOf(Name fieldName)
Get a field's index from this table.TableOnStep<Record>
innerJoin(String sql)
INNER JOIN
a table to this table.TableOnStep<Record>
innerJoin(String sql, Object... bindings)
INNER JOIN
a table to this table.TableOnStep<Record>
innerJoin(String sql, QueryPart... parts)
INNER JOIN
a table to this table.TableOnStep<Record>
innerJoin(Name name)
INNER JOIN
a table to this table.TableOnStep<Record>
innerJoin(SQL sql)
INNER JOIN
a table to this table.TableOnStep<Record>
innerJoin(TableLike<?> table)
INNER JOIN
a table to this table.TableOnStep<Record>
join(String sql)
INNER JOIN
a table to this table.TableOnStep<Record>
join(String sql, Object... bindings)
INNER JOIN
a table to this table.TableOnStep<Record>
join(String sql, QueryPart... parts)
INNER JOIN
a table to this table.TableOnStep<Record>
join(Name name)
INNER JOIN
a table to this table.TableOnStep<Record>
join(SQL sql)
INNER JOIN
a table to this table.TableOnStep<Record>
join(TableLike<?> table)
INNER JOIN
a table to this table.TableOptionalOnStep<Record>
join(TableLike<?> table, JoinType type)
Join a table to this table using aJoinType
TableOnStep<R>
leftAntiJoin(TableLike<?> table)
A syntheticLEFT ANTI JOIN
clause that translates to an equivalentNOT EXISTS
predicate.TablePartitionByStep<Record>
leftJoin(String sql)
LEFT OUTER JOIN
a table to this table.TablePartitionByStep<Record>
leftJoin(String sql, Object... bindings)
LEFT OUTER JOIN
a table to this table.TablePartitionByStep<Record>
leftJoin(String sql, QueryPart... parts)
LEFT OUTER JOIN
a table to this table.TablePartitionByStep<Record>
leftJoin(Name name)
LEFT OUTER JOIN
a table to this table.TablePartitionByStep<Record>
leftJoin(SQL sql)
LEFT OUTER JOIN
a table to this table.TablePartitionByStep<Record>
leftJoin(TableLike<?> table)
LEFT OUTER JOIN
a table to this table.TablePartitionByStep<Record>
leftOuterJoin(String sql)
LEFT OUTER JOIN
a table to this table.TablePartitionByStep<Record>
leftOuterJoin(String sql, Object... bindings)
LEFT OUTER JOIN
a table to this table.TablePartitionByStep<Record>
leftOuterJoin(String sql, QueryPart... parts)
LEFT OUTER JOIN
a table to this table.TablePartitionByStep<Record>
leftOuterJoin(Name name)
LEFT OUTER JOIN
a table to this table.TablePartitionByStep<Record>
leftOuterJoin(SQL sql)
LEFT OUTER JOIN
a table to this table.TablePartitionByStep<Record>
leftOuterJoin(TableLike<?> table)
LEFT OUTER JOIN
a table to this table.TableOnStep<R>
leftSemiJoin(TableLike<?> table)
A syntheticLEFT SEMI JOIN
clause that translates to an equivalentEXISTS
predicate.Table<Record>
naturalFullOuterJoin(String sql)
NATURAL FULL OUTER JOIN
a table to this table.Table<Record>
naturalFullOuterJoin(String sql, Object... bindings)
NATURAL FULL OUTER JOIN
a table to this table.Table<Record>
naturalFullOuterJoin(String sql, QueryPart... parts)
NATURAL FULL OUTER JOIN
a table to this table.Table<Record>
naturalFullOuterJoin(Name name)
NATURAL FULL OUTER JOIN
a table to this table.Table<Record>
naturalFullOuterJoin(SQL sql)
NATURAL FULL OUTER JOIN
a table to this table.Table<Record>
naturalFullOuterJoin(TableLike<?> table)
NATURAL FULL OUTER JOIN
a table to this table.Table<Record>
naturalJoin(String sql)
NATURAL JOIN
a table to this table.Table<Record>
naturalJoin(String sql, Object... bindings)
NATURAL JOIN
a table to this table.Table<Record>
naturalJoin(String sql, QueryPart... parts)
NATURAL JOIN
a table to this table.Table<Record>
naturalJoin(Name name)
NATURAL JOIN
a table to this table.Table<Record>
naturalJoin(SQL sql)
NATURAL JOIN
a table to this table.Table<Record>
naturalJoin(TableLike<?> table)
NATURAL JOIN
a table to this table.Table<Record>
naturalLeftOuterJoin(String sql)
NATURAL LEFT OUTER JOIN
a table to this table.Table<Record>
naturalLeftOuterJoin(String sql, Object... bindings)
NATURAL LEFT OUTER JOIN
a table to this table.Table<Record>
naturalLeftOuterJoin(String sql, QueryPart... parts)
NATURAL LEFT OUTER JOIN
a table to this table.Table<Record>
naturalLeftOuterJoin(Name name)
NATURAL LEFT OUTER JOIN
a table to this table.Table<Record>
naturalLeftOuterJoin(SQL sql)
NATURAL LEFT OUTER JOIN
a table to this table.Table<Record>
naturalLeftOuterJoin(TableLike<?> table)
NATURAL LEFT OUTER JOIN
a table to this table.Table<Record>
naturalRightOuterJoin(String sql)
NATURAL RIGHT OUTER JOIN
a table to this table.Table<Record>
naturalRightOuterJoin(String sql, Object... bindings)
NATURAL RIGHT OUTER JOIN
a table to this table.Table<Record>
naturalRightOuterJoin(String sql, QueryPart... parts)
NATURAL RIGHT OUTER JOIN
a table to this table.Table<Record>
naturalRightOuterJoin(Name name)
NATURAL RIGHT OUTER JOIN
a table to this table.Table<Record>
naturalRightOuterJoin(SQL sql)
NATURAL RIGHT OUTER JOIN
a table to this table.Table<Record>
naturalRightOuterJoin(TableLike<?> table)
NATURAL RIGHT OUTER JOIN
a table to this table.Condition
ne(Table<R> that)
Create a predicate comparing records from self-non-equi-joined tables.R
newRecord()
Create a newRecord
of this table's type.Condition
notEqual(Table<R> that)
Create a predicate comparing records from self-non-equi-joined tables.Table<Record>
outerApply(String sql)
OUTER APPLY
a table to this table.Table<Record>
outerApply(String sql, Object... bindings)
OUTER APPLY
a table to this table.Table<Record>
outerApply(String sql, QueryPart... parts)
OUTER APPLY
a table to this table.Table<Record>
outerApply(Name name)
OUTER APPLY
a table to this table.Table<Record>
outerApply(SQL sql)
OUTER APPLY
a table to this table.Table<Record>
outerApply(TableLike<?> table)
OUTER APPLY
a table to this table.TableOuterJoinStep<Record>
partitionBy(Collection<? extends Field<?>> fields)
Add aPARTITION BY
clause to the left hand side of theOUTER JOIN
keywordsTableOuterJoinStep<Record>
partitionBy(Field<?>... fields)
Add aPARTITION BY
clause to the left hand side of theOUTER JOIN
keywordsPivotForStep
pivot(Collection<? extends Field<?>> aggregateFunctions)
Create a newTABLE
reference from this table, pivoting it into another form.PivotForStep
pivot(Field<?>... aggregateFunctions)
Create a newTABLE
reference from this table, pivoting it into another form.RecordType<R>
recordType()
The record type produced by this table.TablePartitionByStep<Record>
rightJoin(String sql)
RIGHT OUTER JOIN
a table to this table.TablePartitionByStep<Record>
rightJoin(String sql, Object... bindings)
RIGHT OUTER JOIN
a table to this table.TablePartitionByStep<Record>
rightJoin(String sql, QueryPart... parts)
RIGHT OUTER JOIN
a table to this table.TablePartitionByStep<Record>
rightJoin(Name name)
RIGHT OUTER JOIN
a table to this table.TablePartitionByStep<Record>
rightJoin(SQL sql)
RIGHT OUTER JOIN
a table to this table.TablePartitionByStep<Record>
rightJoin(TableLike<?> table)
RIGHT OUTER JOIN
a table to this table.TablePartitionByStep<Record>
rightOuterJoin(String sql)
RIGHT OUTER JOIN
a table to this table.TablePartitionByStep<Record>
rightOuterJoin(String sql, Object... bindings)
RIGHT OUTER JOIN
a table to this table.TablePartitionByStep<Record>
rightOuterJoin(String sql, QueryPart... parts)
RIGHT OUTER JOIN
a table to this table.TablePartitionByStep<Record>
rightOuterJoin(Name name)
RIGHT OUTER JOIN
a table to this table.TablePartitionByStep<Record>
rightOuterJoin(SQL sql)
RIGHT OUTER JOIN
a table to this table.TablePartitionByStep<Record>
rightOuterJoin(TableLike<?> table)
RIGHT OUTER JOIN
a table to this table.Field<RowId>
rowid()
Get atable.rowid
reference from this table.TableOptionalOnStep<Record>
straightJoin(String sql)
STRAIGHT_JOIN
a table to this table.TableOptionalOnStep<Record>
straightJoin(String sql, Object... bindings)
STRAIGHT_JOIN
a table to this table.TableOptionalOnStep<Record>
straightJoin(String sql, QueryPart... parts)
STRAIGHT_JOIN
a table to this table.TableOptionalOnStep<Record>
straightJoin(Name name)
STRAIGHT_JOIN
a table to this table.TableOptionalOnStep<Record>
straightJoin(SQL sql)
STRAIGHT_JOIN
a table to this table.TableOptionalOnStep<Record>
straightJoin(TableLike<?> table)
STRAIGHT_JOIN
a table to this table.void
toSQL(RenderContext context)
Deprecated.- 3.4.0 - [#2694] - UseQueryPartInternal.accept(Context)
instead.String
toString()
Render a SQL string representation of thisQueryPart
.protected DataAccessException
translate(String sql, SQLException e)
Internal convenience methodTable<R>
useIndex(String... indexes)
Specify a MySQL style table hint for query optimisation.Table<R>
useIndexForGroupBy(String... indexes)
Specify a MySQL style table hint for query optimisation.Table<R>
useIndexForJoin(String... indexes)
Specify a MySQL style table hint for query optimisation.Table<R>
useIndexForOrderBy(String... indexes)
Specify a MySQL style table hint for query optimisation.VersionsBetweenAndStep<R,Number>
versionsBetweenScn(Number scn)
Create anSQLDialect.ORACLE
flashback versions query clause from this table.VersionsBetweenAndStep<R,Number>
versionsBetweenScn(Field<? extends Number> scn)
Create anSQLDialect.ORACLE
flashback versions query clause from this table.VersionsBetweenAndStep<R,Number>
versionsBetweenScnMinvalue()
Create anSQLDialect.ORACLE
flashback versions query clause from this table.VersionsBetweenAndStep<R,Timestamp>
versionsBetweenTimestamp(Timestamp timestamp)
Create anSQLDialect.ORACLE
flashback versions query clause from this table.VersionsBetweenAndStep<R,Timestamp>
versionsBetweenTimestamp(Field<Timestamp> timestamp)
Create anSQLDialect.ORACLE
flashback versions query clause from this table.VersionsBetweenAndStep<R,Timestamp>
versionsBetweenTimestampMinvalue()
Create anSQLDialect.ORACLE
flashback versions query clause from this table.Table<R>
where(String sql)
Add aWHERE
clause to the table.Table<R>
where(String sql, Object... bindings)
Add aWHERE
clause to the table.Table<R>
where(String sql, QueryPart... parts)
Add aWHERE
clause to the table.Table<R>
where(Collection<? extends Condition> conditions)
Add aWHERE
clause to the table, connecting them with each other withOperator.AND
.Table<R>
where(Condition condition)
Add aWHERE
clause to the table, connecting them with each other withOperator.AND
.Table<R>
where(Condition... conditions)
Add aWHERE
clause to the table, connecting them with each other withOperator.AND
.Table<R>
where(Field<Boolean> field)
Add aWHERE
clause to the table.Table<R>
where(SQL sql)
Add aWHERE
clause to the table.Table<R>
whereExists(Select<?> select)
Add aWHERE EXISTS
clause to the table.Table<R>
whereNotExists(Select<?> select)
Add aWHERE NOT EXISTS
clause to the table.Table<R>
with(String hint)
Specify a SQL Server style table hint for query optimisation.-
Methods inherited from class org.jooq.impl.TableImpl
accept, as, as, clauses, equals, fieldsRow, rename, rename
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.jooq.Named
getName, getQualifiedName, getUnqualifiedName
-
Methods inherited from interface org.jooq.Table
getComment
-
-
-
-
Constructor Detail
-
CustomTable
protected CustomTable(Name name)
-
CustomTable
@Deprecated protected CustomTable(String name)
Deprecated.- 3.10 - [#5996] - UseCustomTable(Name)
instead.
-
CustomTable
@Deprecated protected CustomTable(String name, Schema schema)
Deprecated.- 3.10 - [#5996] - UseCustomTable(Name, Schema)
instead.
-
-
Method Detail
-
getRecordType
public abstract Class<? extends R> getRecordType()
Subclasses must implement this method
Subclasses must override this method if they use the generic type parameterfor other types than Record
The record type produced by this table.
- Specified by:
getRecordType
in interfaceTable<R extends TableRecord<R>>
- Overrides:
getRecordType
in classTableImpl<R extends TableRecord<R>>
-
getIdentity
public Identity<R,?> getIdentity()
Retrieve the table'sIDENTITY
information, if available.With SQL:2003, the concept of
IDENTITY
columns was introduced in most RDBMS. These are special kinds of columns that have auto-increment functionality whenINSERT
statements are performed.An
IDENTITY
column is usually part of thePRIMARY KEY
or of aUNIQUE KEY
in the table, although in some RDBMS, this is not required. There can only be at most oneIDENTITY
column.Note: Unfortunately, this is not supported in the Oracle dialect, where identities emulated by triggers cannot be formally detected.
Subclasses should override this method
- Specified by:
getIdentity
in interfaceTable<R extends TableRecord<R>>
- Returns:
- The table's
IDENTITY
information, ornull
, if no such information is available.
-
getPrimaryKey
public UniqueKey<R> getPrimaryKey()
Retrieve the table's primary keySubclasses may override this method
- Specified by:
getPrimaryKey
in interfaceTable<R extends TableRecord<R>>
- Returns:
- The primary key. This is never
null
for an updatable table.
-
getKeys
public List<UniqueKey<R>> getKeys()
Retrieve all of the table's unique keys.Subclasses should override this method
- Specified by:
getKeys
in interfaceTable<R extends TableRecord<R>>
- Returns:
- All keys. This is never
null
. This is never empty for aTable
with aTable.getPrimaryKey()
. This method returns an unmodifiable list.
-
getReferences
public List<ForeignKey<R,?>> getReferences()
Get the list ofFOREIGN KEY
's of this tableSubclasses should override this method
- Specified by:
getReferences
in interfaceTable<R extends TableRecord<R>>
- Returns:
- This table's
FOREIGN KEY
's. This is nevernull
.
-
declaresFields
public final boolean declaresFields()
Subclasses may override this- Specified by:
declaresFields
in interfaceQueryPartInternal
-
declaresTables
public final boolean declaresTables()
Subclasses may override this- Specified by:
declaresTables
in interfaceQueryPartInternal
- Overrides:
declaresTables
in classTableImpl<R extends TableRecord<R>>
-
from
public final R from(Record record)
Description copied from interface:Table
The inverse operation ofRecord.into(Table)
.This method can be used in its method reference form conveniently on a generated table, for instance, when mapping records in a stream:
DSL.using(configuration) .fetch("select * from t") .stream() .map(MY_TABLE::into) .forEach(System.out::println);
-
asterisk
public final QualifiedAsterisk asterisk()
Description copied from interface:Table
Create a qualified asterisk expression from this table (table.*
) for use withSELECT
.- Specified by:
asterisk
in interfaceTable<R extends Record>
- See Also:
DSL.asterisk()
-
rowid
public final Field<RowId> rowid()
Description copied from interface:Table
Get atable.rowid
reference from this table.A rowid value describes the physical location of a row on the disk, which can be used as a replacement for a primary key in some situations - especially within a query, e.g. to self-join a table:
-- Emulating this MySQL statement... DELETE FROM x ORDER BY x.y LIMIT 1 -- ... in other databases DELETE FROM x WHERE x.rowid IN ( SELECT x.rowid FROM x ORDER BY x.a LIMIT 1 )
It is not recommended to use
rowid
values in client applications as actual row identifiers as the database system may move a row to a different physical location at any time, thus changing the rowid value. In general, use primary keys, instead.
-
getDataType
public final DataType<R> getDataType()
Description copied from interface:Table
The table's record type as a UDT data type, in case the underlying database supports table records as UDT records.- Specified by:
getDataType
in interfaceTable<R extends Record>
-
recordType
public final RecordType<R> recordType()
Description copied from interface:Table
The record type produced by this table.- Specified by:
recordType
in interfaceTable<R extends Record>
-
newRecord
public final R newRecord()
Description copied from interface:Table
Create a newRecord
of this table's type.- Specified by:
newRecord
in interfaceTable<R extends Record>
- See Also:
DSLContext.newRecord(Table)
-
fieldStream
public final Stream<Field<?>> fieldStream()
Description copied from interface:TableLike
Get this table's fields as aStream
, if this table knows its field references.- Specified by:
fieldStream
in interfaceTableLike<R extends Record>
-
field
public final <T> Field<T> field(Field<T> field)
Description copied from interface:TableLike
Get a specific field from this table, if this table knows its field references.This will return:
- A field that is the same as the argument field (by identity comparison).
- A field that is equal to the argument field (exact matching fully qualified name).
- A field that is equal to the argument field (partially matching qualified name).
- A field whose name is equal to the name of the argument field.
null
otherwise.
- Specified by:
field
in interfaceTableLike<R extends Record>
- See Also:
Row.field(Field)
-
field
public final Field<?> field(String string)
Description copied from interface:TableLike
Get a specific field from this table, if this table knows its field references.- Specified by:
field
in interfaceTableLike<R extends Record>
- See Also:
Row.field(String)
-
field
public final <T> Field<T> field(String name, Class<T> type)
Description copied from interface:TableLike
Get a specific field from this table and coerce it totype
, if this table knows its field references.- Specified by:
field
in interfaceTableLike<R extends Record>
- See Also:
Row.field(String, Class)
-
field
public final <T> Field<T> field(String name, DataType<T> dataType)
Description copied from interface:TableLike
Get a specific field from this table and coerce it todataType
, if this table knows its field references.- Specified by:
field
in interfaceTableLike<R extends Record>
- See Also:
Row.field(String, DataType)
-
field
public final Field<?> field(Name name)
Description copied from interface:TableLike
Get a specific field from this table, if this table knows its field references.- Specified by:
field
in interfaceTableLike<R extends Record>
- See Also:
Row.field(Name)
-
field
public final <T> Field<T> field(Name name, Class<T> type)
Description copied from interface:TableLike
Get a specific field from this table and coerce it totype
, if this table knows its field references.- Specified by:
field
in interfaceTableLike<R extends Record>
- See Also:
Row.field(Name, Class)
-
field
public final <T> Field<T> field(Name name, DataType<T> dataType)
Description copied from interface:TableLike
Get a specific field from this table and coerce it todataType
, if this table knows its field references.- Specified by:
field
in interfaceTableLike<R extends Record>
- See Also:
Row.field(Name, DataType)
-
field
public final Field<?> field(int index)
Description copied from interface:TableLike
Get a specific field from this table, if this table knows its field references.- Specified by:
field
in interfaceTableLike<R extends Record>
- See Also:
Row.field(int)
-
field
public final <T> Field<T> field(int index, Class<T> type)
Description copied from interface:TableLike
Get a specific field from this table and coerce it totype
, if this table knows its field references.- Specified by:
field
in interfaceTableLike<R extends Record>
- See Also:
Row.field(int, Class)
-
field
public final <T> Field<T> field(int index, DataType<T> dataType)
Description copied from interface:TableLike
Get a specific field from this table and coerce it todataType
, if this table knows its field references.- Specified by:
field
in interfaceTableLike<R extends Record>
- See Also:
Row.field(int, DataType)
-
fields
public final Field<?>[] fields()
Description copied from interface:TableLike
Get all fields from this table, if this table knows its field references, or an empty array otherwise.- Specified by:
fields
in interfaceTableLike<R extends Record>
- See Also:
Row.fields()
-
fields
public final Field<?>[] fields(Field<?>... fields)
Description copied from interface:TableLike
Get all fields from this table, providing some fields, if this table knows its field references.- Specified by:
fields
in interfaceTableLike<R extends Record>
- Returns:
- All available fields
- See Also:
Row.fields(Field...)
-
fields
public final Field<?>[] fields(String... fieldNames)
Description copied from interface:TableLike
Get all fields from this table, providing some field names, if this table knows its field references.- Specified by:
fields
in interfaceTableLike<R extends Record>
- Returns:
- All available fields
- See Also:
Row.fields(String...)
-
fields
public final Field<?>[] fields(Name... fieldNames)
Description copied from interface:TableLike
Get all fields from this table, providing some field names, if this table knows its field references.- Specified by:
fields
in interfaceTableLike<R extends Record>
- Returns:
- All available fields
- See Also:
Row.fields(Name...)
-
fields
public final Field<?>[] fields(int... fieldIndexes)
Description copied from interface:TableLike
Get all fields from this table, providing some field indexes, if this table knows its field references.- Specified by:
fields
in interfaceTableLike<R extends Record>
- Returns:
- All available fields
- See Also:
Row.fields(int...)
-
indexOf
public final int indexOf(Field<?> field)
Description copied from interface:TableLike
Get a field's index from this table.
-
indexOf
public final int indexOf(String fieldName)
Description copied from interface:TableLike
Get a field's index from this table.
-
indexOf
public final int indexOf(Name fieldName)
Description copied from interface:TableLike
Get a field's index from this table.
-
asTable
public final Table<R> asTable()
Description copied from interface:TableLike
The underlying table representation of this object.This method is useful for things like
SELECT * FROM (SELECT * FROM x WHERE x.a = '1') WHERE ...
-
asTable
public final Table<R> asTable(String alias)
Description copied from interface:TableLike
The underlying aliased table representation of this object.- Specified by:
asTable
in interfaceTableLike<R extends Record>
- See Also:
Table.as(String)
-
asTable
public final Table<R> asTable(String alias, String... fieldAliases)
Description copied from interface:TableLike
The underlying aliased table representation of this object.- Specified by:
asTable
in interfaceTableLike<R extends Record>
- See Also:
Table.as(String, String...)
-
asTable
public final Table<R> asTable(String alias, Function<? super Field<?>,? extends String> aliasFunction)
Description copied from interface:TableLike
The underlying aliased table representation of this object.- Specified by:
asTable
in interfaceTableLike<R extends Record>
- See Also:
Table.as(String, Function)
-
asTable
public final Table<R> asTable(String alias, BiFunction<? super Field<?>,? super Integer,? extends String> aliasFunction)
Description copied from interface:TableLike
The underlying aliased table representation of this object.- Specified by:
asTable
in interfaceTableLike<R extends Record>
- See Also:
Table.as(String, BiFunction)
-
as
public Table<R> as(String alias)
Description copied from interface:Table
Create an alias for this table.Note that the case-sensitivity of the returned table depends on
Settings.getRenderQuotedNames()
. By default, table aliases are quoted, and thus case-sensitive in many SQL dialects!
-
as
public Table<R> as(String alias, String... fieldAliases)
Description copied from interface:Table
Create an alias for this table and its fields.Note that the case-sensitivity of the returned table and columns depends on
Settings.getRenderQuotedNames()
. By default, table aliases are quoted, and thus case-sensitive in many SQL dialects!Derived column lists for table references
Note, not all databases support derived column lists for their table aliases. On the other hand, some databases do support derived column lists, but only for derived tables. jOOQ will try to turn table references into derived tables to make this syntax work. In other words, the following statements are equivalent:
-- Using derived column lists to rename columns (e.g. Postgres) SELECT t.a, t.b FROM my_table t(a, b) -- Nesting table references within derived tables (e.g. SQL Server) SELECT t.a, t.b FROM ( SELECT * FROM my_table ) t(a, b)
Derived column lists for derived tables
Other databases may not support derived column lists at all, but they do support common table expressions. The following statements are equivalent:
-- Using derived column lists to rename columns (e.g. Postgres) SELECT t.a, t.b FROM ( SELECT 1, 2 ) AS t(a, b) -- Using UNION ALL to produce column names (e.g. MySQL) SELECT t.a, t.b FROM ( SELECT null a, null b FROM DUAL WHERE 1 = 0 UNION ALL SELECT 1, 2 FROM DUAL ) t
-
as
public final Table<R> as(String alias, Function<? super Field<?>,? extends String> aliasFunction)
Description copied from interface:Table
Create an alias for this table and its fields.This works like
Table.as(String, String...)
, except that field aliases are provided by a function. This is useful, for instance, to prefix all columns with a common prefix:MY_TABLE.as("t1", f ->"prefix_" + f.getName());
-
as
public final Table<R> as(String alias, BiFunction<? super Field<?>,? super Integer,? extends String> aliasFunction)
Description copied from interface:Table
Create an alias for this table and its fields.This works like
Table.as(String, String...)
, except that field aliases are provided by a function. This is useful, for instance, to prefix all columns with a common prefix:MY_TABLE.as("t1", (f, i) ->"column" + i);
-
as
public final Table<R> as(Name alias, Function<? super Field<?>,? extends Name> aliasFunction)
Description copied from interface:Table
Create an alias for this table and its fields.This works like
Table.as(Name, Name...)
, except that field aliases are provided by a function. This is useful, for instance, to prefix all columns with a common prefix:MY_TABLE.as("t1", f ->"prefix_" + f.getName());
-
as
public final Table<R> as(Name alias, BiFunction<? super Field<?>,? super Integer,? extends Name> aliasFunction)
Description copied from interface:Table
Create an alias for this table and its fields.This works like
Table.as(Name, Name...)
, except that field aliases are provided by a function. This is useful, for instance, to prefix all columns with a common prefix:MY_TABLE.as("t1", (f, i) ->"column" + i);
-
getCatalog
public final Catalog getCatalog()
Description copied from interface:Table
Get the table catalog.- Specified by:
getCatalog
in interfaceTable<R extends Record>
-
getRecordVersion
public TableField<R,?> getRecordVersion()
A "version" field holding record version information used for optimistic lockingjOOQ supports optimistic locking in
UpdatableRecord.store()
andUpdatableRecord.delete()
ifSettings.isExecuteWithOptimisticLocking()
is enabled. Optimistic locking is performed in a singleUPDATE
orDELETE
statement if tables provide a "version" or "timestamp" field, or in two steps using an additionalSELECT .. FOR UPDATE
statement otherwise.This method is overridden in generated subclasses if their corresponding tables have been configured accordingly. A table may have both a "version" and a "timestamp" field.
Subclasses may override this method
- Specified by:
getRecordVersion
in interfaceTable<R extends Record>
- Returns:
- The "version" field, or
null
, if this table has no "version" field. - See Also:
Table.getRecordTimestamp()
,UpdatableRecord.store()
,UpdatableRecord.delete()
,Settings.isExecuteWithOptimisticLocking()
-
getRecordTimestamp
public TableField<R,?> getRecordTimestamp()
A "timestamp" field holding record timestamp information used for optimistic lockingjOOQ supports optimistic locking in
UpdatableRecord.store()
andUpdatableRecord.delete()
ifSettings.isExecuteWithOptimisticLocking()
is enabled. Optimistic locking is performed in a singleUPDATE
orDELETE
statement if tables provide a "version" or "timestamp" field, or in two steps using an additionalSELECT .. FOR UPDATE
statement otherwise.This method is overridden in generated subclasses if their corresponding tables have been configured accordingly. A table may have both a "version" and a "timestamp" field.
Subclasses may override this method
- Specified by:
getRecordTimestamp
in interfaceTable<R extends Record>
- Returns:
- The "timestamp" field, or
null
, if this table has no "timestamp" field. - See Also:
Table.getRecordVersion()
,UpdatableRecord.store()
,UpdatableRecord.delete()
,Settings.isExecuteWithOptimisticLocking()
-
getIndexes
public List<Index> getIndexes()
Retrieve all of the table's indexes.Subclasses should override this method
- Specified by:
getIndexes
in interfaceTable<R extends Record>
- Returns:
- All indexes. This is never
null
. This method returns an unmodifiable list.
-
getReferencesFrom
public final <O extends Record> List<ForeignKey<O,R>> getReferencesFrom(Table<O> other)
Description copied from interface:Table
Get a list ofFOREIGN KEY
's of a specific table, referencing a this table.- Specified by:
getReferencesFrom
in interfaceTable<R extends Record>
- Type Parameters:
O
- The other table's record type- Parameters:
other
- The other table of the foreign key relationship- Returns:
- Some other table's
FOREIGN KEY
's towards an this table. This is nevernull
. This method returns an unmodifiable list.
-
getReferencesTo
public final <O extends Record> List<ForeignKey<R,O>> getReferencesTo(Table<O> other)
Description copied from interface:Table
Get a list ofFOREIGN KEY
's of this table, referencing a specific table.- Specified by:
getReferencesTo
in interfaceTable<R extends Record>
- Type Parameters:
O
- The other table's record type- Parameters:
other
- The other table of the foreign key relationship- Returns:
- This table's
FOREIGN KEY
's towards an other table. This is nevernull
.
-
createField
@Deprecated protected static final <R extends Record,T> TableField<R,T> createField(String name, DataType<T> type, Table<R> table)
Deprecated.- 3.12.0 - [#8000] - UseAbstractTable.createField(Name, DataType, Table)
instead.Subclasses may call this method to createTableField
objects that are linked to this table.- Parameters:
name
- The name of the field (case-sensitive!)type
- The data type of the field
-
createField
@Deprecated protected static final <R extends Record,T> TableField<R,T> createField(String name, DataType<T> type, Table<R> table, String comment)
Deprecated.- 3.12.0 - [#8000] - UseAbstractTable.createField(Name, DataType, Table, String)
instead.Subclasses may call this method to createTableField
objects that are linked to this table.- Parameters:
name
- The name of the field (case-sensitive!)type
- The data type of the field
-
createField
@Deprecated protected static final <R extends Record,T,U> TableField<R,U> createField(String name, DataType<T> type, Table<R> table, String comment, Converter<T,U> converter)
Deprecated.- 3.12.0 - [#8000] - UseAbstractTable.createField(Name, DataType, Table, String, Converter)
instead.Subclasses may call this method to createTableField
objects that are linked to this table.- Parameters:
name
- The name of the field (case-sensitive!)type
- The data type of the field
-
createField
@Deprecated protected static final <R extends Record,T,U> TableField<R,U> createField(String name, DataType<T> type, Table<R> table, String comment, Binding<T,U> binding)
Deprecated.- 3.12.0 - [#8000] - UseAbstractTable.createField(Name, DataType, Table, String, Binding)
instead.Subclasses may call this method to createTableField
objects that are linked to this table.- Parameters:
name
- The name of the field (case-sensitive!)type
- The data type of the field
-
createField
@Deprecated protected static final <R extends Record,T,X,U> TableField<R,U> createField(String name, DataType<T> type, Table<R> table, String comment, Converter<X,U> converter, Binding<T,X> binding)
Deprecated.- 3.12.0 - [#8000] - UseAbstractTable.createField(Name, DataType, Table, String, Converter, Binding)
instead.Subclasses may call this method to createTableField
objects that are linked to this table.- Parameters:
name
- The name of the field (case-sensitive!)type
- The data type of the field
-
createField
@Deprecated protected final <T> TableField<R,T> createField(String name, DataType<T> type)
Deprecated.- 3.12.0 - [#8000] - UsecreateField(Name, DataType)
instead.Subclasses may call this method to createTableField
objects that are linked to this table.- Parameters:
name
- The name of the field (case-sensitive!)type
- The data type of the field
-
createField
@Deprecated protected final <T> TableField<R,T> createField(String name, DataType<T> type, String comment)
Deprecated.- 3.12.0 - [#8000] - UsecreateField(Name, DataType, String)
instead.Subclasses may call this method to createTableField
objects that are linked to this table.- Parameters:
name
- The name of the field (case-sensitive!)type
- The data type of the field
-
createField
@Deprecated protected final <T,U> TableField<R,U> createField(String name, DataType<T> type, String comment, Converter<T,U> converter)
Deprecated.- 3.12.0 - [#8000] - UsecreateField(Name, DataType, String, Converter)
instead.Subclasses may call this method to createTableField
objects that are linked to this table.- Parameters:
name
- The name of the field (case-sensitive!)type
- The data type of the field
-
createField
@Deprecated protected final <T,U> TableField<R,U> createField(String name, DataType<T> type, String comment, Binding<T,U> binding)
Deprecated.- 3.12.0 - [#8000] - UsecreateField(Name, DataType, String, Binding)
instead.Subclasses may call this method to createTableField
objects that are linked to this table.- Parameters:
name
- The name of the field (case-sensitive!)type
- The data type of the field
-
createField
@Deprecated protected final <T,X,U> TableField<R,U> createField(String name, DataType<T> type, String comment, Converter<X,U> converter, Binding<T,X> binding)
Deprecated.- 3.12.0 - [#8000] - UsecreateField(Name, DataType, String, Converter, Binding)
instead.Subclasses may call this method to createTableField
objects that are linked to this table.- Parameters:
name
- The name of the field (case-sensitive!)type
- The data type of the field
-
createField
protected static final <R extends Record,T> TableField<R,T> createField(Name name, DataType<T> type, Table<R> table)
Subclasses may call this method to createTableField
objects that are linked to this table.- Parameters:
name
- The name of the field (case-sensitive!)type
- The data type of the field
-
createField
protected static final <R extends Record,T> TableField<R,T> createField(Name name, DataType<T> type, Table<R> table, String comment)
Subclasses may call this method to createTableField
objects that are linked to this table.- Parameters:
name
- The name of the field (case-sensitive!)type
- The data type of the field
-
createField
protected static final <R extends Record,T,U> TableField<R,U> createField(Name name, DataType<T> type, Table<R> table, String comment, Converter<T,U> converter)
Subclasses may call this method to createTableField
objects that are linked to this table.- Parameters:
name
- The name of the field (case-sensitive!)type
- The data type of the field
-
createField
protected static final <R extends Record,T,U> TableField<R,U> createField(Name name, DataType<T> type, Table<R> table, String comment, Binding<T,U> binding)
Subclasses may call this method to createTableField
objects that are linked to this table.- Parameters:
name
- The name of the field (case-sensitive!)type
- The data type of the field
-
createField
protected static final <R extends Record,T,X,U> TableField<R,U> createField(Name name, DataType<T> type, Table<R> table, String comment, Converter<X,U> converter, Binding<T,X> binding)
Subclasses may call this method to createTableField
objects that are linked to this table.- Parameters:
name
- The name of the field (case-sensitive!)type
- The data type of the field
-
createField
protected final <T> TableField<R,T> createField(Name name, DataType<T> type)
Subclasses may call this method to createTableField
objects that are linked to this table.- Parameters:
name
- The name of the field (case-sensitive!)type
- The data type of the field
-
createField
protected final <T> TableField<R,T> createField(Name name, DataType<T> type, String comment)
Subclasses may call this method to createTableField
objects that are linked to this table.- Parameters:
name
- The name of the field (case-sensitive!)type
- The data type of the field
-
createField
protected final <T,U> TableField<R,U> createField(Name name, DataType<T> type, String comment, Converter<T,U> converter)
Subclasses may call this method to createTableField
objects that are linked to this table.- Parameters:
name
- The name of the field (case-sensitive!)type
- The data type of the field
-
createField
protected final <T,U> TableField<R,U> createField(Name name, DataType<T> type, String comment, Binding<T,U> binding)
Subclasses may call this method to createTableField
objects that are linked to this table.- Parameters:
name
- The name of the field (case-sensitive!)type
- The data type of the field
-
createField
protected final <T,X,U> TableField<R,U> createField(Name name, DataType<T> type, String comment, Converter<X,U> converter, Binding<T,X> binding)
Subclasses may call this method to createTableField
objects that are linked to this table.- Parameters:
name
- The name of the field (case-sensitive!)type
- The data type of the field
-
eq
public final Condition eq(Table<R> that)
Description copied from interface:Table
Create a predicate comparing records from self-joined tables.This is a convenience method for self-joins, comparing complete records between tables.
For example:
MyTable a = MY_TABLE.as("a"); MyTable b = MY_TABLE.as("b"); DSL.using(configuration) .select() .from(a) .join(b).on(a.eq(b));
- Specified by:
eq
in interfaceTable<R extends Record>
- See Also:
Table.equal(Table)
-
equal
public final Condition equal(Table<R> that)
Description copied from interface:Table
Create a predicate comparing records from self-joined tables.This is a convenience method for self-joins, comparing complete records between tables.
For example:
MyTable a = MY_TABLE.as("a"); MyTable b = MY_TABLE.as("b"); DSL.using(configuration) .select() .from(a) .join(b).on(a.equal(b));
-
ne
public final Condition ne(Table<R> that)
Description copied from interface:Table
Create a predicate comparing records from self-non-equi-joined tables. This is a convenience method for self-joins, comparing complete records between tables.For example:
MyTable a = MY_TABLE.as("a"); MyTable b = MY_TABLE.as("b"); DSL.using(configuration) .select() .from(a) .join(b).on(a.ne(b));
- Specified by:
ne
in interfaceTable<R extends Record>
- See Also:
Table.notEqual(Table)
-
notEqual
public final Condition notEqual(Table<R> that)
Description copied from interface:Table
Create a predicate comparing records from self-non-equi-joined tables.This is a convenience method for self-joins, comparing complete records between tables.
For example:
MyTable a = MY_TABLE.as("a"); MyTable b = MY_TABLE.as("b"); DSL.using(configuration) .select() .from(a) .join(b).on(a.notEqual(b));
-
useIndex
public final Table<R> useIndex(String... indexes)
Description copied from interface:Table
Specify a MySQL style table hint for query optimisation.Example:
create.select() .from(BOOK.as("b").useIndex("MY_INDEX") .fetch();
- Specified by:
useIndex
in interfaceTable<R extends Record>
- See Also:
- http://dev.mysql.com/doc/refman/5.7/en/index-hints.html
-
useIndexForJoin
public final Table<R> useIndexForJoin(String... indexes)
Description copied from interface:Table
Specify a MySQL style table hint for query optimisation.Example:
create.select() .from(BOOK.as("b").useIndexForJoin("MY_INDEX") .fetch();
- Specified by:
useIndexForJoin
in interfaceTable<R extends Record>
- See Also:
- http://dev.mysql.com/doc/refman/5.7/en/index-hints.html
-
useIndexForOrderBy
public final Table<R> useIndexForOrderBy(String... indexes)
Description copied from interface:Table
Specify a MySQL style table hint for query optimisation.Example:
create.select() .from(BOOK.as("b").useIndexForOrderBy("MY_INDEX") .fetch();
- Specified by:
useIndexForOrderBy
in interfaceTable<R extends Record>
- See Also:
- http://dev.mysql.com/doc/refman/5.7/en/index-hints.html
-
useIndexForGroupBy
public final Table<R> useIndexForGroupBy(String... indexes)
Description copied from interface:Table
Specify a MySQL style table hint for query optimisation.Example:
create.select() .from(BOOK.as("b").useIndexForGroupBy("MY_INDEX") .fetch();
- Specified by:
useIndexForGroupBy
in interfaceTable<R extends Record>
- See Also:
- http://dev.mysql.com/doc/refman/5.7/en/index-hints.html
-
ignoreIndex
public final Table<R> ignoreIndex(String... indexes)
Description copied from interface:Table
Specify a MySQL style table hint for query optimisation.Example:
create.select() .from(BOOK.as("b").useIndex("MY_INDEX") .fetch();
- Specified by:
ignoreIndex
in interfaceTable<R extends Record>
- See Also:
- http://dev.mysql.com/doc/refman/5.7/en/index-hints.html
-
ignoreIndexForJoin
public final Table<R> ignoreIndexForJoin(String... indexes)
Description copied from interface:Table
Specify a MySQL style table hint for query optimisation.Example:
create.select() .from(BOOK.as("b").useIndexForJoin("MY_INDEX") .fetch();
- Specified by:
ignoreIndexForJoin
in interfaceTable<R extends Record>
- See Also:
- http://dev.mysql.com/doc/refman/5.7/en/index-hints.html
-
ignoreIndexForOrderBy
public final Table<R> ignoreIndexForOrderBy(String... indexes)
Description copied from interface:Table
Specify a MySQL style table hint for query optimisation.Example:
create.select() .from(BOOK.as("b").useIndexForOrderBy("MY_INDEX") .fetch();
- Specified by:
ignoreIndexForOrderBy
in interfaceTable<R extends Record>
- See Also:
- http://dev.mysql.com/doc/refman/5.7/en/index-hints.html
-
ignoreIndexForGroupBy
public final Table<R> ignoreIndexForGroupBy(String... indexes)
Description copied from interface:Table
Specify a MySQL style table hint for query optimisation.Example:
create.select() .from(BOOK.as("b").useIndexForGroupBy("MY_INDEX") .fetch();
- Specified by:
ignoreIndexForGroupBy
in interfaceTable<R extends Record>
- See Also:
- http://dev.mysql.com/doc/refman/5.7/en/index-hints.html
-
forceIndex
public final Table<R> forceIndex(String... indexes)
Description copied from interface:Table
Specify a MySQL style table hint for query optimisation.Example:
create.select() .from(BOOK.as("b").useIndex("MY_INDEX") .fetch();
- Specified by:
forceIndex
in interfaceTable<R extends Record>
- See Also:
- http://dev.mysql.com/doc/refman/5.7/en/index-hints.html
-
forceIndexForJoin
public final Table<R> forceIndexForJoin(String... indexes)
Description copied from interface:Table
Specify a MySQL style table hint for query optimisation.Example:
create.select() .from(BOOK.as("b").useIndexForJoin("MY_INDEX") .fetch();
- Specified by:
forceIndexForJoin
in interfaceTable<R extends Record>
- See Also:
- http://dev.mysql.com/doc/refman/5.7/en/index-hints.html
-
forceIndexForOrderBy
public final Table<R> forceIndexForOrderBy(String... indexes)
Description copied from interface:Table
Specify a MySQL style table hint for query optimisation.Example:
create.select() .from(BOOK.as("b").useIndexForOrderBy("MY_INDEX") .fetch();
- Specified by:
forceIndexForOrderBy
in interfaceTable<R extends Record>
- See Also:
- http://dev.mysql.com/doc/refman/5.7/en/index-hints.html
-
forceIndexForGroupBy
public final Table<R> forceIndexForGroupBy(String... indexes)
Description copied from interface:Table
Specify a MySQL style table hint for query optimisation.Example:
create.select() .from(BOOK.as("b").useIndexForGroupBy("MY_INDEX") .fetch();
- Specified by:
forceIndexForGroupBy
in interfaceTable<R extends Record>
- See Also:
- http://dev.mysql.com/doc/refman/5.7/en/index-hints.html
-
as
public final Table<R> as(Table<?> otherTable)
Description copied from interface:Table
Create an alias for this table based on another table's name.
-
as
public final Table<R> as(Table<?> otherTable, Field<?>... otherFields)
Description copied from interface:Table
Create an alias for this table based on another table's name.
-
as
public final Table<R> as(Table<?> otherTable, Function<? super Field<?>,? extends Field<?>> aliasFunction)
Description copied from interface:Table
Create an alias for this table and its fields.This works like
Table.as(Table, Field...)
, except that field aliases are provided by a function. This is useful, for instance, to prefix all columns with a common prefix:MY_TABLE.as(MY_OTHER_TABLE, f ->MY_OTHER_TABLE.field(f));
-
as
public final Table<R> as(Table<?> otherTable, BiFunction<? super Field<?>,? super Integer,? extends Field<?>> aliasFunction)
Description copied from interface:Table
Create an alias for this table and its fields.This works like
Table.as(Table, Field...)
, except that field aliases are provided by a function. This is useful, for instance, to prefix all columns with a common prefix:MY_TABLE.as("t1", (f, i) ->"column" + i);
-
with
@Pro public final Table<R> with(String hint)
Description copied from interface:Table
Specify a SQL Server style table hint for query optimisation.This makes sense only on an actual database table or view, not on other composed table sources.
Example:
create.select() .from(BOOK.as("b").with("READUNCOMMITTED") .fetch();
For
SQLDialect.ORACLE
style hints, seeSelectFromStep.hint(String)
andSelectQuery.addHint(String)
- Specified by:
with
in interfaceTable<R extends Record>
- See Also:
- http://msdn.microsoft.com/en-us/library/ms187373.aspx,
SelectFromStep.hint(String)
,SelectQuery.addHint(String)
-
at
@Pro public final Table<R> at(String link)
Description copied from interface:Table
A table reference of this table at a givenLink
.- Specified by:
at
in interfaceTable<R extends Record>
- See Also:
DSL.link(String)
-
at
@Pro public final Table<R> at(Name link)
Description copied from interface:Table
A table reference of this table at a givenLink
.- Specified by:
at
in interfaceTable<R extends Record>
- See Also:
DSL.link(Name)
-
at
@Pro public final Table<R> at(Link link)
Description copied from interface:Table
A table reference of this table at a givenLink
.
-
pivot
@Pro public final PivotForStep pivot(Field<?>... aggregateFunctions)
Description copied from interface:Table
Create a newTABLE
reference from this table, pivoting it into another form.This has been observed to work with
-
SQLDialect.ORACLE11G
upwards -
SQLDialect.SQLSERVER
(not yet officially supported) - Other dialects by using some means of emulation (not yet officially supported)
-
-
pivot
@Pro public final PivotForStep pivot(Collection<? extends Field<?>> aggregateFunctions)
Description copied from interface:Table
Create a newTABLE
reference from this table, pivoting it into another form.For more details, see
Table.pivot(Field...)
- Specified by:
pivot
in interfaceTable<R extends Record>
- Parameters:
aggregateFunctions
- The aggregate functions used for pivoting.- Returns:
- A DSL object to create the
PIVOT
expression - See Also:
Table.pivot(Field...)
-
versionsBetweenScn
@Pro public final VersionsBetweenAndStep<R,Number> versionsBetweenScn(Number scn)
Description copied from interface:Table
Create anSQLDialect.ORACLE
flashback versions query clause from this table.- Specified by:
versionsBetweenScn
in interfaceTable<R extends Record>
-
versionsBetweenScn
@Pro public final VersionsBetweenAndStep<R,Number> versionsBetweenScn(Field<? extends Number> scn)
Description copied from interface:Table
Create anSQLDialect.ORACLE
flashback versions query clause from this table.- Specified by:
versionsBetweenScn
in interfaceTable<R extends Record>
-
versionsBetweenScnMinvalue
@Pro public final VersionsBetweenAndStep<R,Number> versionsBetweenScnMinvalue()
Description copied from interface:Table
Create anSQLDialect.ORACLE
flashback versions query clause from this table.- Specified by:
versionsBetweenScnMinvalue
in interfaceTable<R extends Record>
-
versionsBetweenTimestamp
@Pro public final VersionsBetweenAndStep<R,Timestamp> versionsBetweenTimestamp(Timestamp timestamp)
Description copied from interface:Table
Create anSQLDialect.ORACLE
flashback versions query clause from this table.- Specified by:
versionsBetweenTimestamp
in interfaceTable<R extends Record>
-
versionsBetweenTimestamp
@Pro public final VersionsBetweenAndStep<R,Timestamp> versionsBetweenTimestamp(Field<Timestamp> timestamp)
Description copied from interface:Table
Create anSQLDialect.ORACLE
flashback versions query clause from this table.- Specified by:
versionsBetweenTimestamp
in interfaceTable<R extends Record>
-
versionsBetweenTimestampMinvalue
@Pro public final VersionsBetweenAndStep<R,Timestamp> versionsBetweenTimestampMinvalue()
Description copied from interface:Table
Create anSQLDialect.ORACLE
flashback versions query clause from this table.- Specified by:
versionsBetweenTimestampMinvalue
in interfaceTable<R extends Record>
-
asOfScn
@Pro public final Table<R> asOfScn(Number scn)
Description copied from interface:Table
Create anSQLDialect.ORACLE
flashback query clause from this table.
-
asOfScn
@Pro public final Table<R> asOfScn(Field<? extends Number> scn)
Description copied from interface:Table
Create anSQLDialect.ORACLE
flashback query clause from this table.
-
asOfTimestamp
@Pro public final Table<R> asOfTimestamp(Timestamp timestamp)
Description copied from interface:Table
Create anSQLDialect.ORACLE
flashback query clause from this table.- Specified by:
asOfTimestamp
in interfaceTable<R extends Record>
-
asOfTimestamp
@Pro public final Table<R> asOfTimestamp(Field<Timestamp> timestamp)
Description copied from interface:Table
Create anSQLDialect.ORACLE
flashback query clause from this table.- Specified by:
asOfTimestamp
in interfaceTable<R extends Record>
-
divideBy
public final DivideByOnStep divideBy(Table<?> divisor)
Description copied from interface:Table
Create a newTABLE
reference from this table, applying relational division.Relational division is the inverse of a cross join operation. The following is an approximate definition of a relational division:
Assume the following cross join / cartesian product C = A × B Then it can be said that A = C ÷ B B = C ÷ A
With jOOQ, you can simplify using relational divisions by using the following syntax:
C.divideBy(B).on(C.ID.equal(B.C_ID)).returning(C.TEXT)
The above roughly translates to
SELECT DISTINCT C.TEXT FROM C "c1" WHERE NOT EXISTS ( SELECT 1 FROM B WHERE NOT EXISTS ( SELECT 1 FROM C "c2" WHERE "c2".TEXT = "c1".TEXT AND "c2".ID = B.C_ID ) )
Or in plain text: Find those TEXT values in C whose ID's correspond to all ID's in B. Note that from the above SQL statement, it is immediately clear that proper indexing is of the essence. Be sure to have indexes on all columns referenced from the
on(...)
andreturning(...)
clauses.For more information about relational division and some nice, real-life examples, see
- http ://en.wikipedia.org/wiki/Relational_algebra#Division
- http://www.simple-talk.com/sql/t-sql-programming/divided-we-stand-the- sql-of-relational-division/
This has been observed to work with all dialects
-
leftSemiJoin
public final TableOnStep<R> leftSemiJoin(TableLike<?> table)
Description copied from interface:Table
A syntheticLEFT SEMI JOIN
clause that translates to an equivalentEXISTS
predicate.The following two SQL snippets are semantically equivalent:
-- Using LEFT SEMI JOIN FROM A LEFT SEMI JOIN B ON A.ID = B.ID -- Using WHERE EXISTS FROM A WHERE EXISTS ( SELECT 1 FROM B WHERE A.ID = B.ID )
Notice that according to Relational algebra's understanding of left semi join, the right hand side of the left semi join operator is not projected, i.e. it cannot be accessed from
WHERE
orSELECT
or any other clause thanON
.- Specified by:
leftSemiJoin
in interfaceTable<R extends Record>
-
leftAntiJoin
public final TableOnStep<R> leftAntiJoin(TableLike<?> table)
Description copied from interface:Table
A syntheticLEFT ANTI JOIN
clause that translates to an equivalentNOT EXISTS
predicate.The following two SQL snippets are semantically equivalent:
-- Using LEFT ANTI JOIN FROM A LEFT ANTI JOIN B ON A.ID = B.ID -- Using WHERE NOT EXISTS FROM A WHERE NOT EXISTS ( SELECT 1 FROM B WHERE A.ID = B.ID )
Notice that according to Relational algebra's understanding of left anti join, the right hand side of the left anti join operator is not projected, i.e. it cannot be accessed from
WHERE
orSELECT
or any other clause thanON
.- Specified by:
leftAntiJoin
in interfaceTable<R extends Record>
-
where
public Table<R> where(Condition condition)
Description copied from interface:Table
Add aWHERE
clause to the table, connecting them with each other withOperator.AND
.The resulting table acts like a derived table that projects all of this table's columns and filters by the argument
Condition
. If syntactically reasonable, the derived table may be inlined to the query that selects from the resulting table.
-
where
public Table<R> where(Condition... conditions)
Description copied from interface:Table
Add aWHERE
clause to the table, connecting them with each other withOperator.AND
.The resulting table acts like a derived table that projects all of this table's columns and filters by the argument
Condition
. If syntactically reasonable, the derived table may be inlined to the query that selects from the resulting table.
-
where
public Table<R> where(Collection<? extends Condition> conditions)
Description copied from interface:Table
Add aWHERE
clause to the table, connecting them with each other withOperator.AND
.The resulting table acts like a derived table that projects all of this table's columns and filters by the argument
Condition
. If syntactically reasonable, the derived table may be inlined to the query that selects from the resulting table.
-
where
public Table<R> where(Field<Boolean> field)
Description copied from interface:Table
Add aWHERE
clause to the table.The resulting table acts like a derived table that projects all of this table's columns and filters by the argument
Condition
. If syntactically reasonable, the derived table may be inlined to the query that selects from the resulting table.
-
where
public Table<R> where(SQL sql)
Description copied from interface:Table
Add aWHERE
clause to the table.The resulting table acts like a derived table that projects all of this table's columns and filters by the argument
Condition
. If syntactically reasonable, the derived table may be inlined to the query that selects from the resulting table.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!
- Specified by:
where
in interfaceTable<R extends Record>
- See Also:
DSL.condition(SQL)
,SQL
-
where
public Table<R> where(String sql)
Description copied from interface:Table
Add aWHERE
clause to the table.The resulting table acts like a derived table that projects all of this table's columns and filters by the argument
Condition
. If syntactically reasonable, the derived table may be inlined to the query that selects from the resulting table.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!
- Specified by:
where
in interfaceTable<R extends Record>
- See Also:
DSL.condition(String)
,SQL
-
where
public Table<R> where(String sql, Object... bindings)
Description copied from interface:Table
Add aWHERE
clause to the table.The resulting table acts like a derived table that projects all of this table's columns and filters by the argument
Condition
. If syntactically reasonable, the derived table may be inlined to the query that selects from the resulting table.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!
- Specified by:
where
in interfaceTable<R extends Record>
- See Also:
DSL.condition(String, Object...)
,DSL.sql(String, Object...)
,SQL
-
where
public Table<R> where(String sql, QueryPart... parts)
Description copied from interface:Table
Add aWHERE
clause to the table.The resulting table acts like a derived table that projects all of this table's columns and filters by the argument
Condition
. If syntactically reasonable, the derived table may be inlined to the query that selects from the resulting table.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!
- Specified by:
where
in interfaceTable<R extends Record>
- See Also:
DSL.condition(String, QueryPart...)
,DSL.sql(String, QueryPart...)
,SQL
-
whereExists
public Table<R> whereExists(Select<?> select)
Description copied from interface:Table
Add aWHERE EXISTS
clause to the table.The resulting table acts like a derived table that projects all of this table's columns and filters by the argument
Condition
. If syntactically reasonable, the derived table may be inlined to the query that selects from the resulting table.- Specified by:
whereExists
in interfaceTable<R extends Record>
-
whereNotExists
public Table<R> whereNotExists(Select<?> select)
Description copied from interface:Table
Add aWHERE NOT EXISTS
clause to the table.The resulting table acts like a derived table that projects all of this table's columns and filters by the argument
Condition
. If syntactically reasonable, the derived table may be inlined to the query that selects from the resulting table.- Specified by:
whereNotExists
in interfaceTable<R extends Record>
-
join
public final TableOptionalOnStep<Record> join(TableLike<?> table, JoinType type)
Description copied from interface:Table
Join a table to this table using aJoinType
Depending on the
JoinType
, a subsequentTableOnStep.on(Condition)
orTableOnStep.using(Field...)
clause is required. If it is required but omitted, aDSL.trueCondition()
, i.e.1 = 1
condition will be rendered
-
join
public final TableOnStep<Record> join(TableLike<?> table)
Description copied from interface:Table
INNER JOIN
a table to this table.A synonym for
Table.innerJoin(TableLike)
.- Specified by:
join
in interfaceTable<R extends Record>
- See Also:
Table.innerJoin(TableLike)
-
join
public final TableOnStep<Record> join(SQL sql)
Description copied from interface:Table
INNER JOIN
a table to this table.A synonym for
Table.innerJoin(String)
.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!
- Specified by:
join
in interfaceTable<R extends Record>
- See Also:
DSL.table(SQL)
,Table.innerJoin(SQL)
,SQL
-
join
public final TableOnStep<Record> join(String sql)
Description copied from interface:Table
INNER JOIN
a table to this table.A synonym for
Table.innerJoin(String)
.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!
- Specified by:
join
in interfaceTable<R extends Record>
- See Also:
DSL.table(String)
,Table.innerJoin(String)
,SQL
-
join
public final TableOnStep<Record> join(String sql, Object... bindings)
Description copied from interface:Table
INNER JOIN
a table to this table.A synonym for
Table.innerJoin(String, Object...)
.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!
- Specified by:
join
in interfaceTable<R extends Record>
- See Also:
DSL.table(String, Object...)
,DSL.sql(String, Object...)
,Table.innerJoin(String, Object...)
,SQL
-
join
public final TableOnStep<Record> join(String sql, QueryPart... parts)
Description copied from interface:Table
INNER JOIN
a table to this table.A synonym for
Table.innerJoin(String, QueryPart...)
.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!
- Specified by:
join
in interfaceTable<R extends Record>
- See Also:
DSL.table(String, QueryPart...)
,DSL.sql(String, QueryPart...)
,Table.innerJoin(String, QueryPart...)
,SQL
-
join
public final TableOnStep<Record> join(Name name)
Description copied from interface:Table
INNER JOIN
a table to this table.A synonym for
Table.innerJoin(Name)
.- Specified by:
join
in interfaceTable<R extends Record>
- See Also:
DSL.table(Name)
,Table.innerJoin(Name)
-
innerJoin
public final TableOnStep<Record> innerJoin(TableLike<?> table)
Description copied from interface:Table
INNER JOIN
a table to this table.
-
innerJoin
public final TableOnStep<Record> innerJoin(SQL sql)
Description copied from interface:Table
INNER JOIN
a table to this table.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!
- Specified by:
innerJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(SQL)
,SQL
-
innerJoin
public final TableOnStep<Record> innerJoin(String sql)
Description copied from interface:Table
INNER JOIN
a table to this table.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!
- Specified by:
innerJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String)
,SQL
-
innerJoin
public final TableOnStep<Record> innerJoin(String sql, Object... bindings)
Description copied from interface:Table
INNER JOIN
a table to this table.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!
- Specified by:
innerJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String, Object...)
,DSL.sql(String, Object...)
,SQL
-
innerJoin
public final TableOnStep<Record> innerJoin(String sql, QueryPart... parts)
Description copied from interface:Table
INNER JOIN
a table to this table.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!
- Specified by:
innerJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String, QueryPart...)
,DSL.sql(String, QueryPart...)
,SQL
-
innerJoin
public final TableOnStep<Record> innerJoin(Name name)
Description copied from interface:Table
INNER JOIN
a table to this table.- Specified by:
innerJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(Name)
-
partitionBy
@Pro public TableOuterJoinStep<Record> partitionBy(Field<?>... fields)
Description copied from interface:Table
Add aPARTITION BY
clause to the left hand side of theOUTER JOIN
keywords- Specified by:
partitionBy
in interfaceTable<R extends Record>
-
partitionBy
@Pro public TableOuterJoinStep<Record> partitionBy(Collection<? extends Field<?>> fields)
Description copied from interface:Table
Add aPARTITION BY
clause to the left hand side of theOUTER JOIN
keywords- Specified by:
partitionBy
in interfaceTable<R extends Record>
-
leftJoin
public final TablePartitionByStep<Record> leftJoin(TableLike<?> table)
Description copied from interface:Table
LEFT OUTER JOIN
a table to this table.A synonym for
Table.leftOuterJoin(TableLike)
.- Specified by:
leftJoin
in interfaceTable<R extends Record>
- See Also:
Table.leftOuterJoin(TableLike)
-
leftJoin
public final TablePartitionByStep<Record> leftJoin(SQL sql)
Description copied from interface:Table
LEFT OUTER JOIN
a table to this table.A synonym for
Table.leftOuterJoin(String)
.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!
- Specified by:
leftJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(SQL)
,Table.leftOuterJoin(SQL)
,SQL
-
leftJoin
public final TablePartitionByStep<Record> leftJoin(String sql)
Description copied from interface:Table
LEFT OUTER JOIN
a table to this table.A synonym for
Table.leftOuterJoin(String)
.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!
- Specified by:
leftJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String)
,Table.leftOuterJoin(String)
,SQL
-
leftJoin
public final TablePartitionByStep<Record> leftJoin(String sql, Object... bindings)
Description copied from interface:Table
LEFT OUTER JOIN
a table to this table.A synonym for
Table.leftOuterJoin(String, Object...)
.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!
- Specified by:
leftJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String, Object...)
,DSL.sql(String, Object...)
,Table.leftOuterJoin(String, Object...)
,SQL
-
leftJoin
public final TablePartitionByStep<Record> leftJoin(String sql, QueryPart... parts)
Description copied from interface:Table
LEFT OUTER JOIN
a table to this table.A synonym for
Table.leftOuterJoin(String, QueryPart...)
.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!
- Specified by:
leftJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String, QueryPart...)
,DSL.sql(String, QueryPart...)
,Table.leftOuterJoin(String, QueryPart...)
,SQL
-
leftJoin
public final TablePartitionByStep<Record> leftJoin(Name name)
Description copied from interface:Table
LEFT OUTER JOIN
a table to this table.A synonym for
Table.leftOuterJoin(Name)
.- Specified by:
leftJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(Name)
,Table.leftOuterJoin(Name)
-
leftOuterJoin
public final TablePartitionByStep<Record> leftOuterJoin(TableLike<?> table)
Description copied from interface:Table
LEFT OUTER JOIN
a table to this table.- Specified by:
leftOuterJoin
in interfaceTable<R extends Record>
-
leftOuterJoin
public final TablePartitionByStep<Record> leftOuterJoin(SQL sql)
Description copied from interface:Table
LEFT OUTER JOIN
a table to this table.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!
- Specified by:
leftOuterJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(SQL)
,SQL
-
leftOuterJoin
public final TablePartitionByStep<Record> leftOuterJoin(String sql)
Description copied from interface:Table
LEFT OUTER JOIN
a table to this table.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!
- Specified by:
leftOuterJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String)
,SQL
-
leftOuterJoin
public final TablePartitionByStep<Record> leftOuterJoin(String sql, Object... bindings)
Description copied from interface:Table
LEFT OUTER JOIN
a table to this table.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!
- Specified by:
leftOuterJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String, Object...)
,DSL.sql(String, Object...)
,SQL
-
leftOuterJoin
public final TablePartitionByStep<Record> leftOuterJoin(String sql, QueryPart... parts)
Description copied from interface:Table
LEFT OUTER JOIN
a table to this table.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!
- Specified by:
leftOuterJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String, QueryPart...)
,DSL.sql(String, QueryPart...)
,SQL
-
leftOuterJoin
public final TablePartitionByStep<Record> leftOuterJoin(Name name)
Description copied from interface:Table
LEFT OUTER JOIN
a table to this table.- Specified by:
leftOuterJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(Name)
,SQL
-
rightJoin
public final TablePartitionByStep<Record> rightJoin(TableLike<?> table)
Description copied from interface:Table
RIGHT OUTER JOIN
a table to this table.A synonym for
Table.rightOuterJoin(TableLike)
.This is only possible where the underlying RDBMS supports it.
- Specified by:
rightJoin
in interfaceTable<R extends Record>
- See Also:
Table.rightOuterJoin(TableLike)
-
rightJoin
public final TablePartitionByStep<Record> rightJoin(SQL sql)
Description copied from interface:Table
RIGHT OUTER JOIN
a table to this table.A synonym for
Table.rightOuterJoin(String)
.This is only possible where the underlying RDBMS supports it.
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!
- Specified by:
rightJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(SQL)
,Table.rightOuterJoin(SQL)
,SQL
-
rightJoin
public final TablePartitionByStep<Record> rightJoin(String sql)
Description copied from interface:Table
RIGHT OUTER JOIN
a table to this table.A synonym for
Table.rightOuterJoin(String)
.This is only possible where the underlying RDBMS supports it.
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!
- Specified by:
rightJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String)
,Table.rightOuterJoin(String)
,SQL
-
rightJoin
public final TablePartitionByStep<Record> rightJoin(String sql, Object... bindings)
Description copied from interface:Table
RIGHT OUTER JOIN
a table to this table.A synonym for
Table.rightOuterJoin(String, Object...)
.This is only possible where the underlying RDBMS supports it.
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!
- Specified by:
rightJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String, Object...)
,DSL.sql(String, Object...)
,Table.rightOuterJoin(String, Object...)
,SQL
-
rightJoin
public final TablePartitionByStep<Record> rightJoin(String sql, QueryPart... parts)
Description copied from interface:Table
RIGHT OUTER JOIN
a table to this table.A synonym for
Table.rightOuterJoin(String, QueryPart...)
.This is only possible where the underlying RDBMS supports it
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!
- Specified by:
rightJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String, QueryPart...)
,DSL.sql(String, QueryPart...)
,Table.rightOuterJoin(String, QueryPart...)
,SQL
-
rightJoin
public final TablePartitionByStep<Record> rightJoin(Name name)
Description copied from interface:Table
RIGHT OUTER JOIN
a table to this table.A synonym for
Table.rightOuterJoin(Name)
.This is only possible where the underlying RDBMS supports it
- Specified by:
rightJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(Name)
,Table.rightOuterJoin(Name)
-
rightOuterJoin
public final TablePartitionByStep<Record> rightOuterJoin(TableLike<?> table)
Description copied from interface:Table
RIGHT OUTER JOIN
a table to this table.This is only possible where the underlying RDBMS supports it
- Specified by:
rightOuterJoin
in interfaceTable<R extends Record>
-
rightOuterJoin
public final TablePartitionByStep<Record> rightOuterJoin(SQL sql)
Description copied from interface:Table
RIGHT OUTER JOIN
a table to this table.This is only possible where the underlying RDBMS supports it
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!
- Specified by:
rightOuterJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(SQL)
,SQL
-
rightOuterJoin
public final TablePartitionByStep<Record> rightOuterJoin(String sql)
Description copied from interface:Table
RIGHT OUTER JOIN
a table to this table.This is only possible where the underlying RDBMS supports it
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!
- Specified by:
rightOuterJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String)
,SQL
-
rightOuterJoin
public final TablePartitionByStep<Record> rightOuterJoin(String sql, Object... bindings)
Description copied from interface:Table
RIGHT OUTER JOIN
a table to this table.This is only possible where the underlying RDBMS supports it
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!
- Specified by:
rightOuterJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String, Object...)
,DSL.sql(String, Object...)
,SQL
-
rightOuterJoin
public final TablePartitionByStep<Record> rightOuterJoin(String sql, QueryPart... parts)
Description copied from interface:Table
RIGHT OUTER JOIN
a table to this table.This is only possible where the underlying RDBMS supports it
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!
- Specified by:
rightOuterJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String, QueryPart...)
,DSL.sql(String, QueryPart...)
,SQL
-
rightOuterJoin
public final TablePartitionByStep<Record> rightOuterJoin(Name name)
Description copied from interface:Table
RIGHT OUTER JOIN
a table to this table.This is only possible where the underlying RDBMS supports it
- Specified by:
rightOuterJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(Name)
-
fullOuterJoin
public final TableOnStep<Record> fullOuterJoin(TableLike<?> table)
Description copied from interface:Table
FULL OUTER JOIN
a table to this table.This is only possible where the underlying RDBMS supports it
- Specified by:
fullOuterJoin
in interfaceTable<R extends Record>
-
fullOuterJoin
public final TableOnStep<Record> fullOuterJoin(SQL sql)
Description copied from interface:Table
FULL OUTER JOIN
a table to this table.This is only possible where the underlying RDBMS supports it
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!
- Specified by:
fullOuterJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(SQL)
,SQL
-
fullOuterJoin
public final TableOnStep<Record> fullOuterJoin(String sql)
Description copied from interface:Table
FULL OUTER JOIN
a table to this table.This is only possible where the underlying RDBMS supports it
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!
- Specified by:
fullOuterJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String)
,SQL
-
fullOuterJoin
public final TableOnStep<Record> fullOuterJoin(String sql, Object... bindings)
Description copied from interface:Table
FULL OUTER JOIN
a table to this table.This is only possible where the underlying RDBMS supports it
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!
- Specified by:
fullOuterJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String, Object...)
,DSL.sql(String, Object...)
,SQL
-
fullOuterJoin
public final TableOnStep<Record> fullOuterJoin(String sql, QueryPart... parts)
Description copied from interface:Table
FULL OUTER JOIN
a table to this table.This is only possible where the underlying RDBMS supports it
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!
- Specified by:
fullOuterJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String, QueryPart...)
,DSL.sql(String, QueryPart...)
,SQL
-
fullOuterJoin
public final TableOnStep<Record> fullOuterJoin(Name name)
Description copied from interface:Table
FULL OUTER JOIN
a table to this table.This is only possible where the underlying RDBMS supports it
- Specified by:
fullOuterJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(Name)
-
fullJoin
public final TableOnStep<Record> fullJoin(TableLike<?> table)
Description copied from interface:Table
FULL OUTER JOIN
a table to this table.A synonym for
Table.fullOuterJoin(TableLike)
.
-
fullJoin
public final TableOnStep<Record> fullJoin(SQL sql)
Description copied from interface:Table
FULL OUTER JOIN
a table to this table.A synonym for
Table.fullOuterJoin(SQL)
.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!
-
fullJoin
public final TableOnStep<Record> fullJoin(String sql)
Description copied from interface:Table
FULL OUTER JOIN
a table to this table.A synonym for
Table.fullOuterJoin(String)
.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!
-
fullJoin
public final TableOnStep<Record> fullJoin(String sql, Object... bindings)
Description copied from interface:Table
FULL OUTER JOIN
a table to this table.A synonym for
Table.fullOuterJoin(String, Object...)
.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!
-
fullJoin
public final TableOnStep<Record> fullJoin(String sql, QueryPart... parts)
Description copied from interface:Table
FULL OUTER JOIN
a table to this table.A synonym for
Table.fullOuterJoin(String, QueryPart...)
.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!
-
fullJoin
public final TableOnStep<Record> fullJoin(Name name)
Description copied from interface:Table
FULL OUTER JOIN
a table to this table.A synonym for
Table.fullOuterJoin(Name)
.
-
crossJoin
public final Table<Record> crossJoin(TableLike<?> table)
Description copied from interface:Table
CROSS JOIN
a table to this table.If this syntax is unavailable, it is emulated with a regular
INNER JOIN
. The following two constructs are equivalent:A cross join B A join B on 1 = 1
-
crossJoin
public final Table<Record> crossJoin(SQL sql)
Description copied from interface:Table
CROSS JOIN
a table to this table.If this syntax is unavailable, it is emulated with a regular
INNER JOIN
. The following two constructs are equivalent:A cross join B A join B on 1 = 1
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!
- Specified by:
crossJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(SQL)
,SQL
-
crossJoin
public final Table<Record> crossJoin(String sql)
Description copied from interface:Table
CROSS JOIN
a table to this table.If this syntax is unavailable, it is emulated with a regular
INNER JOIN
. The following two constructs are equivalent:A cross join B A join B on 1 = 1
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!
- Specified by:
crossJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String)
,SQL
-
crossJoin
public final Table<Record> crossJoin(String sql, Object... bindings)
Description copied from interface:Table
CROSS JOIN
a table to this table.If this syntax is unavailable, it is emulated with a regular
INNER JOIN
. The following two constructs are equivalent:A cross join B A join B on 1 = 1
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!
- Specified by:
crossJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String, Object...)
,DSL.sql(String, Object...)
,SQL
-
crossJoin
public final Table<Record> crossJoin(String sql, QueryPart... parts)
Description copied from interface:Table
CROSS JOIN
a table to this table.If this syntax is unavailable, it is emulated with a regular
INNER JOIN
. The following two constructs are equivalent:A cross join B A join B on 1 = 1
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!
- Specified by:
crossJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String, QueryPart...)
,DSL.sql(String, QueryPart...)
,SQL
-
crossJoin
public final Table<Record> crossJoin(Name name)
Description copied from interface:Table
CROSS JOIN
a table to this table.If this syntax is unavailable, it is emulated with a regular
INNER JOIN
. The following two constructs are equivalent:A cross join B A join B on 1 = 1
- Specified by:
crossJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(Name)
-
naturalJoin
public final Table<Record> naturalJoin(TableLike<?> table)
Description copied from interface:Table
NATURAL JOIN
a table to this table.If this is not supported by your RDBMS, then jOOQ will try to emulate this behaviour using the information provided in this query.
- Specified by:
naturalJoin
in interfaceTable<R extends Record>
-
naturalJoin
public final Table<Record> naturalJoin(SQL sql)
Description copied from interface:Table
NATURAL JOIN
a table to this table.If this is not supported by your RDBMS, then jOOQ will try to emulate this behaviour using the information provided in this query.
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!
- Specified by:
naturalJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(SQL)
,SQL
-
naturalJoin
public final Table<Record> naturalJoin(String sql)
Description copied from interface:Table
NATURAL JOIN
a table to this table.If this is not supported by your RDBMS, then jOOQ will try to emulate this behaviour using the information provided in this query.
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!
- Specified by:
naturalJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String)
,SQL
-
naturalJoin
public final Table<Record> naturalJoin(String sql, Object... bindings)
Description copied from interface:Table
NATURAL JOIN
a table to this table.If this is not supported by your RDBMS, then jOOQ will try to emulate this behaviour using the information provided in this query.
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!
- Specified by:
naturalJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String, Object...)
,DSL.sql(String, Object...)
,SQL
-
naturalJoin
public final Table<Record> naturalJoin(String sql, QueryPart... parts)
Description copied from interface:Table
NATURAL JOIN
a table to this table.If this is not supported by your RDBMS, then jOOQ will try to emulate this behaviour using the information provided in this query.
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!
- Specified by:
naturalJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String, QueryPart...)
,DSL.sql(String, QueryPart...)
,SQL
-
naturalJoin
public final Table<Record> naturalJoin(Name name)
Description copied from interface:Table
NATURAL JOIN
a table to this table.If this is not supported by your RDBMS, then jOOQ will try to emulate this behaviour using the information provided in this query.
- Specified by:
naturalJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(Name)
-
naturalLeftOuterJoin
public final Table<Record> naturalLeftOuterJoin(TableLike<?> table)
Description copied from interface:Table
NATURAL LEFT OUTER JOIN
a table to this table.If this is not supported by your RDBMS, then jOOQ will try to emulate this behaviour using the information provided in this query.
- Specified by:
naturalLeftOuterJoin
in interfaceTable<R extends Record>
-
naturalLeftOuterJoin
public final Table<Record> naturalLeftOuterJoin(SQL sql)
Description copied from interface:Table
NATURAL LEFT OUTER JOIN
a table to this table.If this is not supported by your RDBMS, then jOOQ will try to emulate this behaviour using the information provided in this query.
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!
- Specified by:
naturalLeftOuterJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(SQL)
,SQL
-
naturalLeftOuterJoin
public final Table<Record> naturalLeftOuterJoin(String sql)
Description copied from interface:Table
NATURAL LEFT OUTER JOIN
a table to this table.If this is not supported by your RDBMS, then jOOQ will try to emulate this behaviour using the information provided in this query.
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!
- Specified by:
naturalLeftOuterJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String)
,SQL
-
naturalLeftOuterJoin
public final Table<Record> naturalLeftOuterJoin(String sql, Object... bindings)
Description copied from interface:Table
NATURAL LEFT OUTER JOIN
a table to this table.If this is not supported by your RDBMS, then jOOQ will try to emulate this behaviour using the information provided in this query.
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!
- Specified by:
naturalLeftOuterJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String, Object...)
,DSL.sql(String, Object...)
,SQL
-
naturalLeftOuterJoin
public final Table<Record> naturalLeftOuterJoin(String sql, QueryPart... parts)
Description copied from interface:Table
NATURAL LEFT OUTER JOIN
a table to this table.If this is not supported by your RDBMS, then jOOQ will try to emulate this behaviour using the information provided in this query.
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!
- Specified by:
naturalLeftOuterJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String, QueryPart...)
,DSL.sql(String, QueryPart...)
,SQL
-
naturalLeftOuterJoin
public final Table<Record> naturalLeftOuterJoin(Name name)
Description copied from interface:Table
NATURAL LEFT OUTER JOIN
a table to this table.If this is not supported by your RDBMS, then jOOQ will try to emulate this behaviour using the information provided in this query.
- Specified by:
naturalLeftOuterJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(Name)
-
naturalRightOuterJoin
public final Table<Record> naturalRightOuterJoin(TableLike<?> table)
Description copied from interface:Table
NATURAL RIGHT OUTER JOIN
a table to this table.If this is not supported by your RDBMS, then jOOQ will try to emulate this behaviour using the information provided in this query.
- Specified by:
naturalRightOuterJoin
in interfaceTable<R extends Record>
-
naturalRightOuterJoin
public final Table<Record> naturalRightOuterJoin(SQL sql)
Description copied from interface:Table
NATURAL RIGHT OUTER JOIN
a table to this table.If this is not supported by your RDBMS, then jOOQ will try to emulate this behaviour using the information provided in this query.
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!
- Specified by:
naturalRightOuterJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(SQL)
,SQL
-
naturalRightOuterJoin
public final Table<Record> naturalRightOuterJoin(String sql)
Description copied from interface:Table
NATURAL RIGHT OUTER JOIN
a table to this table.If this is not supported by your RDBMS, then jOOQ will try to emulate this behaviour using the information provided in this query.
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!
- Specified by:
naturalRightOuterJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String)
,SQL
-
naturalRightOuterJoin
public final Table<Record> naturalRightOuterJoin(String sql, Object... bindings)
Description copied from interface:Table
NATURAL RIGHT OUTER JOIN
a table to this table.If this is not supported by your RDBMS, then jOOQ will try to emulate this behaviour using the information provided in this query.
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!
- Specified by:
naturalRightOuterJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String, Object...)
,DSL.sql(String, Object...)
,SQL
-
naturalRightOuterJoin
public final Table<Record> naturalRightOuterJoin(String sql, QueryPart... parts)
Description copied from interface:Table
NATURAL RIGHT OUTER JOIN
a table to this table.If this is not supported by your RDBMS, then jOOQ will try to emulate this behaviour using the information provided in this query.
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!
- Specified by:
naturalRightOuterJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String, QueryPart...)
,DSL.sql(String, QueryPart...)
,SQL
-
naturalRightOuterJoin
public final Table<Record> naturalRightOuterJoin(Name name)
Description copied from interface:Table
NATURAL RIGHT OUTER JOIN
a table to this table.If this is not supported by your RDBMS, then jOOQ will try to emulate this behaviour using the information provided in this query.
- Specified by:
naturalRightOuterJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(Name)
-
naturalFullOuterJoin
public final Table<Record> naturalFullOuterJoin(TableLike<?> table)
Description copied from interface:Table
NATURAL FULL OUTER JOIN
a table to this table.If this is not supported by your RDBMS, then jOOQ will try to emulate this behaviour using the information provided in this query.
- Specified by:
naturalFullOuterJoin
in interfaceTable<R extends Record>
-
naturalFullOuterJoin
public final Table<Record> naturalFullOuterJoin(SQL sql)
Description copied from interface:Table
NATURAL FULL OUTER JOIN
a table to this table.If this is not supported by your RDBMS, then jOOQ will try to emulate this behaviour using the information provided in this query.
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!
- Specified by:
naturalFullOuterJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(SQL)
,SQL
-
naturalFullOuterJoin
public final Table<Record> naturalFullOuterJoin(String sql)
Description copied from interface:Table
NATURAL FULL OUTER JOIN
a table to this table.If this is not supported by your RDBMS, then jOOQ will try to emulate this behaviour using the information provided in this query.
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!
- Specified by:
naturalFullOuterJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String)
,SQL
-
naturalFullOuterJoin
public final Table<Record> naturalFullOuterJoin(String sql, Object... bindings)
Description copied from interface:Table
NATURAL FULL OUTER JOIN
a table to this table.If this is not supported by your RDBMS, then jOOQ will try to emulate this behaviour using the information provided in this query.
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!
- Specified by:
naturalFullOuterJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String, Object...)
,DSL.sql(String, Object...)
,SQL
-
naturalFullOuterJoin
public final Table<Record> naturalFullOuterJoin(String sql, QueryPart... parts)
Description copied from interface:Table
NATURAL FULL OUTER JOIN
a table to this table.If this is not supported by your RDBMS, then jOOQ will try to emulate this behaviour using the information provided in this query.
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!
- Specified by:
naturalFullOuterJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String, QueryPart...)
,DSL.sql(String, QueryPart...)
,SQL
-
naturalFullOuterJoin
public final Table<Record> naturalFullOuterJoin(Name name)
Description copied from interface:Table
NATURAL FULL OUTER JOIN
a table to this table.If this is not supported by your RDBMS, then jOOQ will try to emulate this behaviour using the information provided in this query.
- Specified by:
naturalFullOuterJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(Name)
-
crossApply
public final Table<Record> crossApply(TableLike<?> table)
Description copied from interface:Table
CROSS APPLY
a table to this table.- Specified by:
crossApply
in interfaceTable<R extends Record>
-
crossApply
public final Table<Record> crossApply(SQL sql)
Description copied from interface:Table
CROSS APPLY
a table to this table.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!
- Specified by:
crossApply
in interfaceTable<R extends Record>
- See Also:
DSL.table(SQL)
,SQL
-
crossApply
public final Table<Record> crossApply(String sql)
Description copied from interface:Table
CROSS APPLY
a table to this table.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!
- Specified by:
crossApply
in interfaceTable<R extends Record>
- See Also:
DSL.table(String)
,SQL
-
crossApply
public final Table<Record> crossApply(String sql, Object... bindings)
Description copied from interface:Table
CROSS APPLY
a table to this table.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!
- Specified by:
crossApply
in interfaceTable<R extends Record>
- See Also:
DSL.table(String, Object...)
,DSL.sql(String, Object...)
,SQL
-
crossApply
public final Table<Record> crossApply(String sql, QueryPart... parts)
Description copied from interface:Table
CROSS APPLY
a table to this table.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!
- Specified by:
crossApply
in interfaceTable<R extends Record>
- See Also:
DSL.table(String, QueryPart...)
,DSL.sql(String, QueryPart...)
,SQL
-
crossApply
public final Table<Record> crossApply(Name name)
Description copied from interface:Table
CROSS APPLY
a table to this table.- Specified by:
crossApply
in interfaceTable<R extends Record>
- See Also:
DSL.table(Name)
-
outerApply
public final Table<Record> outerApply(TableLike<?> table)
Description copied from interface:Table
OUTER APPLY
a table to this table.- Specified by:
outerApply
in interfaceTable<R extends Record>
-
outerApply
public final Table<Record> outerApply(SQL sql)
Description copied from interface:Table
OUTER APPLY
a table to this table.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!
- Specified by:
outerApply
in interfaceTable<R extends Record>
- See Also:
DSL.table(SQL)
,SQL
-
outerApply
public final Table<Record> outerApply(String sql)
Description copied from interface:Table
OUTER APPLY
a table to this table.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!
- Specified by:
outerApply
in interfaceTable<R extends Record>
- See Also:
DSL.table(String)
,SQL
-
outerApply
public final Table<Record> outerApply(String sql, Object... bindings)
Description copied from interface:Table
OUTER APPLY
a table to this table.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!
- Specified by:
outerApply
in interfaceTable<R extends Record>
- See Also:
DSL.table(String, Object...)
,DSL.sql(String, Object...)
,SQL
-
outerApply
public final Table<Record> outerApply(String sql, QueryPart... parts)
Description copied from interface:Table
OUTER APPLY
a table to this table.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!
- Specified by:
outerApply
in interfaceTable<R extends Record>
- See Also:
DSL.table(String, QueryPart...)
,DSL.sql(String, QueryPart...)
,SQL
-
outerApply
public final Table<Record> outerApply(Name name)
Description copied from interface:Table
OUTER APPLY
a table to this table.- Specified by:
outerApply
in interfaceTable<R extends Record>
- See Also:
DSL.table(Name)
-
straightJoin
public final TableOptionalOnStep<Record> straightJoin(TableLike<?> table)
Description copied from interface:Table
STRAIGHT_JOIN
a table to this table.- Specified by:
straightJoin
in interfaceTable<R extends Record>
-
straightJoin
public final TableOptionalOnStep<Record> straightJoin(SQL sql)
Description copied from interface:Table
STRAIGHT_JOIN
a table to this table.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!
- Specified by:
straightJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(SQL)
,SQL
-
straightJoin
public final TableOptionalOnStep<Record> straightJoin(String sql)
Description copied from interface:Table
STRAIGHT_JOIN
a table to this table.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!
- Specified by:
straightJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String)
,SQL
-
straightJoin
public final TableOptionalOnStep<Record> straightJoin(String sql, Object... bindings)
Description copied from interface:Table
STRAIGHT_JOIN
a table to this table.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!
- Specified by:
straightJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String, Object...)
,DSL.sql(String, Object...)
,SQL
-
straightJoin
public final TableOptionalOnStep<Record> straightJoin(String sql, QueryPart... parts)
Description copied from interface:Table
STRAIGHT_JOIN
a table to this table.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!
- Specified by:
straightJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(String, QueryPart...)
,DSL.sql(String, QueryPart...)
,SQL
-
straightJoin
public final TableOptionalOnStep<Record> straightJoin(Name name)
Description copied from interface:Table
STRAIGHT_JOIN
a table to this table.- Specified by:
straightJoin
in interfaceTable<R extends Record>
- See Also:
DSL.table(Name)
-
getName
public final String getName()
Description copied from interface:Named
The unqualified name of this object.
-
getQualifiedName
public Name getQualifiedName()
Description copied from interface:Named
The qualified name of this object.- Specified by:
getQualifiedName
in interfaceNamed
-
getUnqualifiedName
public final Name getUnqualifiedName()
Description copied from interface:Named
The unqualified name of this object.- Specified by:
getUnqualifiedName
in interfaceNamed
-
getComment
public final String getComment()
Description copied from interface:Named
The comment on this object.- Specified by:
getComment
in interfaceNamed
-
hashCode
public int hashCode()
Description copied from interface:QueryPart
Generate a hash code from thisQueryPart
.In general,
QueryPart
hash codes are the same as the hash codes generated fromQueryPart.toString()
. This guarantees consistent behaviour withQueryPart.equals(Object)
Some
QueryPart
implementations may choose to override this behaviour for improved performance, asQueryPart.toString()
is an expensive operation, if called many times.
-
toSQL
@Deprecated public final void toSQL(RenderContext context)
Deprecated.- 3.4.0 - [#2694] - UseQueryPartInternal.accept(Context)
instead.Description copied from interface:QueryPartInternal
Render thisQueryPart
to a SQL string contained incontext.sql()
. Thecontext
will contain additional information about how to render thisQueryPart
, e.g. whether thisQueryPart
should be rendered as a declaration or reference, whether thisQueryPart
's contained bind variables should be inlined or replaced by'?'
, etc.- Specified by:
toSQL
in interfaceQueryPartInternal
-
bind
@Deprecated public final void bind(BindContext context) throws DataAccessException
Deprecated.- 3.4.0 - [#2694] - UseQueryPartInternal.accept(Context)
instead.Description copied from interface:QueryPartInternal
Bind all parameters of thisQueryPart
to a PreparedStatementThis method is for JOOQ INTERNAL USE only. Do not reference directly
- Specified by:
bind
in interfaceQueryPartInternal
- Parameters:
context
- The context holding the next bind index and other information for variable binding- Throws:
DataAccessException
- If something went wrong while binding a variable
-
declaresWindows
public boolean declaresWindows()
Subclasses may override this- Specified by:
declaresWindows
in interfaceQueryPartInternal
-
declaresCTE
public boolean declaresCTE()
Subclasses may override this- Specified by:
declaresCTE
in interfaceQueryPartInternal
-
generatesCast
public boolean generatesCast()
Subclasses may override this- Specified by:
generatesCast
in interfaceQueryPartInternal
-
toString
public String toString()
Description copied from interface:QueryPart
Render a SQL string representation of thisQueryPart
.For improved debugging, this renders a SQL string of this
QueryPart
with inlined bind variables. If thisQueryPart
isAttachable
, then the attachedConfiguration
may be used for rendering the SQL string, includingSQLDialect
andSettings
. Do note that mostQueryPart
instances are not attached to aConfiguration
, and thus there is no guarantee that the SQL string will make sense in the context of a specific database.
-
create
@Deprecated protected final DSLContext create()
Deprecated.- 3.11.0 - [#6722] - UseAttachable.configuration()
andConfiguration.dsl()
instead.Internal convenience method
-
create
@Deprecated protected final DSLContext create(Configuration configuration)
Deprecated.- 3.11.0 - [#6722] - UseAttachable.configuration()
andConfiguration.dsl()
instead.Internal convenience method
-
create
@Deprecated protected final DSLContext create(Context<?> ctx)
Deprecated.- 3.11.0 - [#6722] - UseAttachable.configuration()
andConfiguration.dsl()
instead.Internal convenience method
-
translate
protected final DataAccessException translate(String sql, SQLException e)
Internal convenience method
-
-