-
- Type Parameters:
R
- The record type associated with this table
- All Superinterfaces:
Named
,QueryPart
,Serializable
,TableLike<R>
- All Known Subinterfaces:
CommonTableExpression<R>
,TableOnConditionStep<R>
,TableOptionalOnStep<R>
- All Known Implementing Classes:
CustomTable
,TableImpl
public interface Table<R extends Record> extends TableLike<R>, Named
A table.Like
Field
, aTable
is a basic building block of anyQuery
, as they all operate on at least one table. There are many different types of tables, including:- Generated table references
- Plain SQL tables created with
DSL.table(String)
- Table references created with
DSL.table(Name)
- Derived tables created with
DSL.table(Select)
- Join expressions created e.g. with
join(TableLike)
- Common table expressions (
CommonTableExpression
) - Unnested arrays referenced through
DSL.unnest(Field)
and overloads - Table valued functions as provided by the code generator
- Etc.
Example:
// Assuming import static org.jooq.impl.DSL.*; using(configuration) .select(ACTOR.FIRST_NAME, ACTOR.LAST_NAME) .from(ACTOR) // Table reference .fetch();
Instances can be created using
DSL.table(Name)
and overloads.- Author:
- Lukas Eder
-
-
Method Summary
All Methods Instance Methods Abstract 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)
Create an alias for this table.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(Name alias, Name... fieldAliases)
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.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
.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.DivideByOnStep
divideBy(Table<?> divisor)
Create a newTABLE
reference from this table, applying relational division.Condition
eq(Table<R> table)
Create a predicate comparing records from self-joined tables.Condition
equal(Table<R> table)
Create a predicate comparing records from self-joined tables.boolean
equals(Object other)
Check whether thisQueryPart
can be considered equal to anotherQueryPart
.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.Catalog
getCatalog()
Get the table catalog.String
getComment()
The comment given to the table.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.UniqueKey<R>
getPrimaryKey()
Retrieve the table's primary keyTableField<R,?>
getRecordTimestamp()
A "timestamp" field holding record timestamp information used for optimistic lockingClass<? extends R>
getRecordType()
The record type produced by this table.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.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.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> table)
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> table)
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.TableOnStep<Record>
straightJoin(String sql)
STRAIGHT_JOIN
a table to this table.TableOnStep<Record>
straightJoin(String sql, Object... bindings)
STRAIGHT_JOIN
a table to this table.TableOnStep<Record>
straightJoin(String sql, QueryPart... parts)
STRAIGHT_JOIN
a table to this table.TableOnStep<Record>
straightJoin(Name name)
STRAIGHT_JOIN
a table to this table.TableOnStep<Record>
straightJoin(SQL sql)
STRAIGHT_JOIN
a table to this table.TableOnStep<Record>
straightJoin(TableLike<?> table)
STRAIGHT_JOIN
a table to this table.Table<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 interface org.jooq.Named
getName, getQualifiedName, getUnqualifiedName
-
-
-
-
Method Detail
-
getCatalog
Catalog getCatalog()
Get the table catalog.
-
getSchema
Schema getSchema()
Get the table schema.
-
getComment
String getComment()
The comment given to the table.If this
Table
is a generated table from your database, it may provide its DDL comment through this method. All other table expressions return the empty string""
here, nevernull
.- Specified by:
getComment
in interfaceNamed
-
recordType
RecordType<R> recordType()
The record type produced by this table.
-
getDataType
DataType<R> getDataType()
The table's record type as a UDT data type, in case the underlying database supports table records as UDT records.
-
newRecord
R newRecord()
Create a newRecord
of this table's type.- See Also:
DSLContext.newRecord(Table)
-
getIdentity
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.
- Returns:
- The table's
IDENTITY
information, ornull
, if no such information is available.
-
getPrimaryKey
UniqueKey<R> getPrimaryKey()
Retrieve the table's primary key- Returns:
- The primary key. This is never
null
for an updatable table.
-
getRecordVersion
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.
- Returns:
- The "version" field, or
null
, if this table has no "version" field. - See Also:
getRecordTimestamp()
,UpdatableRecord.store()
,UpdatableRecord.delete()
,Settings.isExecuteWithOptimisticLocking()
-
getRecordTimestamp
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.
- Returns:
- The "timestamp" field, or
null
, if this table has no "timestamp" field. - See Also:
getRecordVersion()
,UpdatableRecord.store()
,UpdatableRecord.delete()
,Settings.isExecuteWithOptimisticLocking()
-
getIndexes
List<Index> getIndexes()
Retrieve all of the table's indexes.- Returns:
- All indexes. This is never
null
. This method returns an unmodifiable list.
-
getKeys
List<UniqueKey<R>> getKeys()
Retrieve all of the table's unique keys.- Returns:
- All keys. This is never
null
. This is never empty for aTable
with agetPrimaryKey()
. This method returns an unmodifiable list.
-
getReferencesFrom
<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.- 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.
-
getReferences
List<ForeignKey<R,?>> getReferences()
Get the list ofFOREIGN KEY
's of this table- Returns:
- This table's
FOREIGN KEY
's. This is nevernull
.
-
getReferencesTo
<O extends Record> List<ForeignKey<R,O>> getReferencesTo(Table<O> other)
Get a list ofFOREIGN KEY
's of this table, referencing a specific table.- 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
.
-
at
@Support(ORACLE) @Pro Table<R> at(String link)
A table reference of this table at a givenLink
.- See Also:
DSL.link(String)
-
at
@Support(ORACLE) @Pro Table<R> at(Name link)
A table reference of this table at a givenLink
.- See Also:
DSL.link(Name)
-
asterisk
@Support QualifiedAsterisk asterisk()
Create a qualified asterisk expression from this table (table.*
) for use withSELECT
.- See Also:
DSL.asterisk()
-
rowid
@Support({DB2,H2,INFORMIX,ORACLE,POSTGRES,SQLITE,SQLSERVER}) Field<RowId> rowid()
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.
-
as
@Support Table<R> as(String alias)
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!- Parameters:
alias
- The alias name- Returns:
- The table alias
-
as
@Support Table<R> as(String alias, String... fieldAliases)
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
- Parameters:
alias
- The alias namefieldAliases
- The field aliases. Excess aliases are ignored, missing aliases will be substituted by this table's field names.- Returns:
- The table alias
-
as
@Support Table<R> as(String alias, Function<? super Field<?>,? extends String> aliasFunction)
Create an alias for this table and its fields.This works like
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());
- Parameters:
alias
- The alias namealiasFunction
- The function providing field aliases.- Returns:
- The table alias
-
as
@Support Table<R> as(String alias, BiFunction<? super Field<?>,? super Integer,? extends String> aliasFunction)
Create an alias for this table and its fields.This works like
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);
- Parameters:
alias
- The alias namealiasFunction
- The function providing field aliases.- Returns:
- The table alias
-
as
@Support Table<R> as(Name alias)
Create an alias for this table.Note that the case-sensitivity of the returned table depends on
Settings.getRenderQuotedNames()
and theName
. By default, table aliases are quoted, and thus case-sensitive in many SQL dialects - useDSL.unquotedName(String...)
for case-insensitive aliases.If the argument
Name.getName()
is qualified, then theName.last()
part will be used.- Parameters:
alias
- The alias name- Returns:
- The table alias
-
as
@Support Table<R> as(Name alias, Name... fieldAliases)
Create an alias for this table and its fields.Note that the case-sensitivity of the returned table depends on
Settings.getRenderQuotedNames()
and theName
. By default, table aliases are quoted, and thus case-sensitive in many SQL dialects - useDSL.unquotedName(String...)
for case-insensitive aliases.If the argument
Name.getName()
is qualified, then theName.last()
part will be used.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
- Parameters:
alias
- The alias namefieldAliases
- The field aliases. Excess aliases are ignored, missing aliases will be substituted by this table's field names.- Returns:
- The table alias
-
as
@Support Table<R> as(Name alias, Function<? super Field<?>,? extends Name> aliasFunction)
Create an alias for this table and its fields.This works like
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());
- Parameters:
alias
- The alias namealiasFunction
- The function providing field aliases.- Returns:
- The table alias
-
as
@Support Table<R> as(Name alias, BiFunction<? super Field<?>,? super Integer,? extends Name> aliasFunction)
Create an alias for this table and its fields.This works like
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);
- Parameters:
alias
- The alias namealiasFunction
- The function providing field aliases.- Returns:
- The table alias
-
as
@Support Table<R> as(Table<?> otherTable)
Create an alias for this table based on another table's name.- Parameters:
otherTable
- The other table whose name this table is aliased with.- Returns:
- The table alias.
-
as
@Support Table<R> as(Table<?> otherTable, Field<?>... otherFields)
Create an alias for this table based on another table's name.- Parameters:
otherTable
- The other table whose name this table is aliased with.otherFields
- The other fields whose field name this table's fields are aliased with.- Returns:
- The table alias.
-
as
@Support Table<R> as(Table<?> otherTable, Function<? super Field<?>,? extends Field<?>> aliasFunction)
Create an alias for this table and its fields.This works like
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));
- Parameters:
otherTable
- The other table whose name is used as alias namealiasFunction
- The function providing field aliases.- Returns:
- The table alias
-
as
@Support Table<R> as(Table<?> otherTable, BiFunction<? super Field<?>,? super Integer,? extends Field<?>> aliasFunction)
Create an alias for this table and its fields.This works like
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);
- Parameters:
otherTable
- The other table whose name is used as alias namealiasFunction
- The function providing field aliases.- Returns:
- The table alias
-
where
@Support Table<R> where(Condition condition)
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
@Support Table<R> where(Condition... conditions)
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
@Support Table<R> where(Collection<? extends Condition> conditions)
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
@Support Table<R> where(Field<Boolean> field)
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
@Support @PlainSQL Table<R> where(SQL sql)
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!
- See Also:
DSL.condition(SQL)
,SQL
-
where
@Support @PlainSQL Table<R> where(String sql)
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!
- See Also:
DSL.condition(String)
,SQL
-
where
@Support @PlainSQL Table<R> where(String sql, Object... bindings)
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!
-
where
@Support @PlainSQL Table<R> where(String sql, QueryPart... parts)
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!
-
whereExists
@Support Table<R> whereExists(Select<?> select)
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.
-
whereNotExists
@Support Table<R> whereNotExists(Select<?> select)
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.
-
join
@Support TableOptionalOnStep<Record> join(TableLike<?> table, JoinType type)
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
@Support TableOnStep<Record> join(TableLike<?> table)
INNER JOIN
a table to this table.A synonym for
innerJoin(TableLike)
.- See Also:
innerJoin(TableLike)
-
join
@Support @PlainSQL TableOnStep<Record> join(SQL sql)
INNER JOIN
a table to this table.A synonym for
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!
- See Also:
DSL.table(SQL)
,innerJoin(SQL)
,SQL
-
join
@Support @PlainSQL TableOnStep<Record> join(String sql)
INNER JOIN
a table to this table.A synonym for
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!
- See Also:
DSL.table(String)
,innerJoin(String)
,SQL
-
join
@Support @PlainSQL TableOnStep<Record> join(String sql, Object... bindings)
INNER JOIN
a table to this table.A synonym for
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!
-
join
@Support @PlainSQL TableOnStep<Record> join(String sql, QueryPart... parts)
INNER JOIN
a table to this table.A synonym for
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!
-
join
@Support @PlainSQL TableOnStep<Record> join(Name name)
INNER JOIN
a table to this table.A synonym for
innerJoin(Name)
.- See Also:
DSL.table(Name)
,innerJoin(Name)
-
innerJoin
@Support TableOnStep<Record> innerJoin(TableLike<?> table)
INNER JOIN
a table to this table.
-
innerJoin
@Support @PlainSQL TableOnStep<Record> innerJoin(SQL sql)
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!
- See Also:
DSL.table(SQL)
,SQL
-
innerJoin
@Support @PlainSQL TableOnStep<Record> innerJoin(String sql)
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!
- See Also:
DSL.table(String)
,SQL
-
innerJoin
@Support @PlainSQL TableOnStep<Record> innerJoin(String sql, Object... bindings)
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!
-
innerJoin
@Support @PlainSQL TableOnStep<Record> innerJoin(String sql, QueryPart... parts)
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!
-
innerJoin
@Support TableOnStep<Record> innerJoin(Name name)
INNER JOIN
a table to this table.- See Also:
DSL.table(Name)
-
partitionBy
@Support(ORACLE) @Pro TableOuterJoinStep<Record> partitionBy(Field<?>... fields)
Add aPARTITION BY
clause to the left hand side of theOUTER JOIN
keywords
-
partitionBy
@Support(ORACLE) @Pro TableOuterJoinStep<Record> partitionBy(Collection<? extends Field<?>> fields)
Add aPARTITION BY
clause to the left hand side of theOUTER JOIN
keywords
-
leftJoin
@Support TablePartitionByStep<Record> leftJoin(TableLike<?> table)
LEFT OUTER JOIN
a table to this table.A synonym for
leftOuterJoin(TableLike)
.- See Also:
leftOuterJoin(TableLike)
-
leftJoin
@Support @PlainSQL TablePartitionByStep<Record> leftJoin(SQL sql)
LEFT OUTER JOIN
a table to this table.A synonym for
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!
- See Also:
DSL.table(SQL)
,leftOuterJoin(SQL)
,SQL
-
leftJoin
@Support @PlainSQL TablePartitionByStep<Record> leftJoin(String sql)
LEFT OUTER JOIN
a table to this table.A synonym for
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!
- See Also:
DSL.table(String)
,leftOuterJoin(String)
,SQL
-
leftJoin
@Support @PlainSQL TablePartitionByStep<Record> leftJoin(String sql, Object... bindings)
LEFT OUTER JOIN
a table to this table.A synonym for
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!
-
leftJoin
@Support @PlainSQL TablePartitionByStep<Record> leftJoin(String sql, QueryPart... parts)
LEFT OUTER JOIN
a table to this table.A synonym for
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!
-
leftJoin
@Support TablePartitionByStep<Record> leftJoin(Name name)
LEFT OUTER JOIN
a table to this table.A synonym for
leftOuterJoin(Name)
.- See Also:
DSL.table(Name)
,leftOuterJoin(Name)
-
leftOuterJoin
@Support TablePartitionByStep<Record> leftOuterJoin(TableLike<?> table)
LEFT OUTER JOIN
a table to this table.
-
leftOuterJoin
@Support @PlainSQL TablePartitionByStep<Record> leftOuterJoin(SQL sql)
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!
- See Also:
DSL.table(SQL)
,SQL
-
leftOuterJoin
@Support @PlainSQL TablePartitionByStep<Record> leftOuterJoin(String sql)
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!
- See Also:
DSL.table(String)
,SQL
-
leftOuterJoin
@Support @PlainSQL TablePartitionByStep<Record> leftOuterJoin(String sql, Object... bindings)
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!
-
leftOuterJoin
@Support @PlainSQL TablePartitionByStep<Record> leftOuterJoin(String sql, QueryPart... parts)
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!
-
leftOuterJoin
@Support TablePartitionByStep<Record> leftOuterJoin(Name name)
LEFT OUTER JOIN
a table to this table.- See Also:
DSL.table(Name)
,SQL
-
rightJoin
@Support({ACCESS,ASE,AURORA_MYSQL,AURORA_POSTGRES,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) TablePartitionByStep<Record> rightJoin(TableLike<?> table)
RIGHT OUTER JOIN
a table to this table.A synonym for
rightOuterJoin(TableLike)
.This is only possible where the underlying RDBMS supports it.
- See Also:
rightOuterJoin(TableLike)
-
rightJoin
@Support({ACCESS,ASE,AURORA_MYSQL,AURORA_POSTGRES,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @PlainSQL TablePartitionByStep<Record> rightJoin(SQL sql)
RIGHT OUTER JOIN
a table to this table.A synonym for
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!
- See Also:
DSL.table(SQL)
,rightOuterJoin(SQL)
,SQL
-
rightJoin
@Support({ACCESS,ASE,AURORA_MYSQL,AURORA_POSTGRES,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @PlainSQL TablePartitionByStep<Record> rightJoin(String sql)
RIGHT OUTER JOIN
a table to this table.A synonym for
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!
- See Also:
DSL.table(String)
,rightOuterJoin(String)
,SQL
-
rightJoin
@Support({ACCESS,ASE,AURORA_MYSQL,AURORA_POSTGRES,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @PlainSQL TablePartitionByStep<Record> rightJoin(String sql, Object... bindings)
RIGHT OUTER JOIN
a table to this table.A synonym for
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!
-
rightJoin
@Support({ACCESS,ASE,AURORA_MYSQL,AURORA_POSTGRES,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @PlainSQL TablePartitionByStep<Record> rightJoin(String sql, QueryPart... parts)
RIGHT OUTER JOIN
a table to this table.A synonym for
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!
-
rightJoin
@Support({ACCESS,ASE,AURORA_MYSQL,AURORA_POSTGRES,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) TablePartitionByStep<Record> rightJoin(Name name)
RIGHT OUTER JOIN
a table to this table.A synonym for
rightOuterJoin(Name)
.This is only possible where the underlying RDBMS supports it
- See Also:
DSL.table(Name)
,rightOuterJoin(Name)
-
rightOuterJoin
@Support({ACCESS,ASE,AURORA_MYSQL,AURORA_POSTGRES,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) TablePartitionByStep<Record> rightOuterJoin(TableLike<?> table)
RIGHT OUTER JOIN
a table to this table.This is only possible where the underlying RDBMS supports it
-
rightOuterJoin
@Support({ACCESS,ASE,AURORA_MYSQL,AURORA_POSTGRES,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @PlainSQL TablePartitionByStep<Record> rightOuterJoin(SQL sql)
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!
- See Also:
DSL.table(SQL)
,SQL
-
rightOuterJoin
@Support({ACCESS,ASE,AURORA_MYSQL,AURORA_POSTGRES,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @PlainSQL TablePartitionByStep<Record> rightOuterJoin(String sql)
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!
- See Also:
DSL.table(String)
,SQL
-
rightOuterJoin
@Support({ACCESS,ASE,AURORA_MYSQL,AURORA_POSTGRES,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @PlainSQL TablePartitionByStep<Record> rightOuterJoin(String sql, Object... bindings)
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!
-
rightOuterJoin
@Support({ACCESS,ASE,AURORA_MYSQL,AURORA_POSTGRES,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @PlainSQL TablePartitionByStep<Record> rightOuterJoin(String sql, QueryPart... parts)
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!
-
rightOuterJoin
@Support({ACCESS,ASE,AURORA_MYSQL,AURORA_POSTGRES,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) TablePartitionByStep<Record> rightOuterJoin(Name name)
RIGHT OUTER JOIN
a table to this table.This is only possible where the underlying RDBMS supports it
- See Also:
DSL.table(Name)
-
fullJoin
@Support({AURORA_POSTGRES,DB2,FIREBIRD,HANA,HSQLDB,INFORMIX,INGRES,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) TableOnStep<Record> fullJoin(TableLike<?> table)
FULL OUTER JOIN
a table to this table.A synonym for
fullOuterJoin(TableLike)
.
-
fullJoin
@Support({AURORA_POSTGRES,DB2,FIREBIRD,HANA,HSQLDB,INFORMIX,INGRES,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @PlainSQL TableOnStep<Record> fullJoin(SQL sql)
FULL OUTER JOIN
a table to this table.A synonym for
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
@Support({AURORA_POSTGRES,DB2,FIREBIRD,HANA,HSQLDB,INFORMIX,INGRES,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @PlainSQL TableOnStep<Record> fullJoin(String sql)
FULL OUTER JOIN
a table to this table.A synonym for
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
@Support({AURORA_POSTGRES,DB2,FIREBIRD,HANA,HSQLDB,INFORMIX,INGRES,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @PlainSQL TableOnStep<Record> fullJoin(String sql, Object... bindings)
FULL OUTER JOIN
a table to this table.A synonym for
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
@Support({AURORA_POSTGRES,DB2,FIREBIRD,HANA,HSQLDB,INFORMIX,INGRES,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @PlainSQL TableOnStep<Record> fullJoin(String sql, QueryPart... parts)
FULL OUTER JOIN
a table to this table.A synonym for
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
@Support({AURORA_POSTGRES,DB2,FIREBIRD,HANA,HSQLDB,INFORMIX,INGRES,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) TableOnStep<Record> fullJoin(Name name)
FULL OUTER JOIN
a table to this table.A synonym for
fullOuterJoin(Name)
.
-
fullOuterJoin
@Support({AURORA_POSTGRES,DB2,FIREBIRD,HANA,HSQLDB,INFORMIX,INGRES,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) TableOnStep<Record> fullOuterJoin(TableLike<?> table)
FULL OUTER JOIN
a table to this table.This is only possible where the underlying RDBMS supports it
-
fullOuterJoin
@Support({AURORA_POSTGRES,DB2,FIREBIRD,HANA,HSQLDB,INFORMIX,INGRES,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @PlainSQL TableOnStep<Record> fullOuterJoin(SQL sql)
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!
- See Also:
DSL.table(SQL)
,SQL
-
fullOuterJoin
@Support({AURORA_POSTGRES,DB2,FIREBIRD,HANA,HSQLDB,INFORMIX,INGRES,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @PlainSQL TableOnStep<Record> fullOuterJoin(String sql)
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!
- See Also:
DSL.table(String)
,SQL
-
fullOuterJoin
@Support({AURORA_POSTGRES,DB2,FIREBIRD,HANA,HSQLDB,INFORMIX,INGRES,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @PlainSQL TableOnStep<Record> fullOuterJoin(String sql, Object... bindings)
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!
-
fullOuterJoin
@Support({AURORA_POSTGRES,DB2,FIREBIRD,HANA,HSQLDB,INFORMIX,INGRES,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @PlainSQL TableOnStep<Record> fullOuterJoin(String sql, QueryPart... parts)
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!
-
fullOuterJoin
@Support({AURORA_POSTGRES,DB2,FIREBIRD,HANA,HSQLDB,INFORMIX,INGRES,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) TableOnStep<Record> fullOuterJoin(Name name)
FULL OUTER JOIN
a table to this table.This is only possible where the underlying RDBMS supports it
- See Also:
DSL.table(Name)
-
crossJoin
@Support({ASE,AURORA_MYSQL,AURORA_POSTGRES,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLITE,SQLSERVER,SYBASE,TERADATA,VERTICA}) Table<Record> crossJoin(TableLike<?> 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
@Support({ASE,AURORA_MYSQL,AURORA_POSTGRES,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLITE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @PlainSQL Table<Record> crossJoin(SQL sql)
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!
- See Also:
DSL.table(SQL)
,SQL
-
crossJoin
@Support({ASE,AURORA_MYSQL,AURORA_POSTGRES,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLITE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @PlainSQL Table<Record> crossJoin(String sql)
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!
- See Also:
DSL.table(String)
,SQL
-
crossJoin
@Support({ASE,AURORA_MYSQL,AURORA_POSTGRES,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLITE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @PlainSQL Table<Record> crossJoin(String sql, Object... bindings)
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!
-
crossJoin
@Support({ASE,AURORA_MYSQL,AURORA_POSTGRES,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLITE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @PlainSQL Table<Record> crossJoin(String sql, QueryPart... parts)
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!
-
crossJoin
@Support({ASE,AURORA_MYSQL,AURORA_POSTGRES,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLITE,SQLSERVER,SYBASE,TERADATA,VERTICA}) Table<Record> crossJoin(Name name)
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
- See Also:
DSL.table(Name)
-
naturalJoin
@Support Table<Record> naturalJoin(TableLike<?> 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.
-
naturalJoin
@Support @PlainSQL Table<Record> naturalJoin(SQL sql)
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!
- See Also:
DSL.table(SQL)
,SQL
-
naturalJoin
@Support @PlainSQL Table<Record> naturalJoin(String sql)
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!
- See Also:
DSL.table(String)
,SQL
-
naturalJoin
@Support @PlainSQL Table<Record> naturalJoin(String sql, Object... bindings)
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!
-
naturalJoin
@Support Table<Record> naturalJoin(Name name)
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.
- See Also:
DSL.table(Name)
-
naturalJoin
@Support @PlainSQL Table<Record> naturalJoin(String sql, QueryPart... parts)
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!
-
naturalLeftOuterJoin
@Support Table<Record> naturalLeftOuterJoin(TableLike<?> 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.
-
naturalLeftOuterJoin
@Support @PlainSQL Table<Record> naturalLeftOuterJoin(SQL sql)
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!
- See Also:
DSL.table(SQL)
,SQL
-
naturalLeftOuterJoin
@Support @PlainSQL Table<Record> naturalLeftOuterJoin(String sql)
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!
- See Also:
DSL.table(String)
,SQL
-
naturalLeftOuterJoin
@Support @PlainSQL Table<Record> naturalLeftOuterJoin(String sql, Object... bindings)
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!
-
naturalLeftOuterJoin
@Support @PlainSQL Table<Record> naturalLeftOuterJoin(String sql, QueryPart... parts)
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!
-
naturalLeftOuterJoin
@Support @PlainSQL Table<Record> naturalLeftOuterJoin(Name name)
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.
- See Also:
DSL.table(Name)
-
naturalRightOuterJoin
@Support({ACCESS,ASE,AURORA_MYSQL,AURORA_POSTGRES,CUBRID,DB2,DERBY,FIREBIRD,H2,HSQLDB,INFORMIX,INGRES,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) Table<Record> naturalRightOuterJoin(TableLike<?> 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.
-
naturalRightOuterJoin
@Support({ACCESS,ASE,AURORA_MYSQL,AURORA_POSTGRES,CUBRID,DB2,DERBY,FIREBIRD,H2,HSQLDB,INFORMIX,INGRES,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @PlainSQL Table<Record> naturalRightOuterJoin(SQL sql)
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!
- See Also:
DSL.table(SQL)
,SQL
-
naturalRightOuterJoin
@Support({ACCESS,ASE,AURORA_MYSQL,AURORA_POSTGRES,CUBRID,DB2,DERBY,FIREBIRD,H2,HSQLDB,INFORMIX,INGRES,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @PlainSQL Table<Record> naturalRightOuterJoin(String sql)
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!
- See Also:
DSL.table(String)
,SQL
-
naturalRightOuterJoin
@Support({ACCESS,ASE,AURORA_MYSQL,AURORA_POSTGRES,CUBRID,DB2,DERBY,FIREBIRD,H2,HSQLDB,INFORMIX,INGRES,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @PlainSQL Table<Record> naturalRightOuterJoin(String sql, Object... bindings)
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!
-
naturalRightOuterJoin
@Support({ACCESS,ASE,AURORA_MYSQL,AURORA_POSTGRES,CUBRID,DB2,DERBY,FIREBIRD,H2,HSQLDB,INFORMIX,INGRES,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @PlainSQL Table<Record> naturalRightOuterJoin(String sql, QueryPart... parts)
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!
-
naturalRightOuterJoin
@Support({ACCESS,ASE,AURORA_MYSQL,AURORA_POSTGRES,CUBRID,DB2,DERBY,FIREBIRD,H2,HSQLDB,INFORMIX,INGRES,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) Table<Record> naturalRightOuterJoin(Name name)
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.
- See Also:
DSL.table(Name)
-
naturalFullOuterJoin
@Support({AURORA_POSTGRES,DB2,FIREBIRD,HSQLDB,INFORMIX,INGRES,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) Table<Record> naturalFullOuterJoin(TableLike<?> 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.
-
naturalFullOuterJoin
@Support({AURORA_POSTGRES,DB2,FIREBIRD,HSQLDB,INFORMIX,INGRES,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @PlainSQL Table<Record> naturalFullOuterJoin(SQL sql)
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!
- See Also:
DSL.table(SQL)
,SQL
-
naturalFullOuterJoin
@Support({AURORA_POSTGRES,DB2,FIREBIRD,HSQLDB,INFORMIX,INGRES,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @PlainSQL Table<Record> naturalFullOuterJoin(String sql)
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!
- See Also:
DSL.table(String)
,SQL
-
naturalFullOuterJoin
@Support({AURORA_POSTGRES,DB2,FIREBIRD,HSQLDB,INFORMIX,INGRES,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @PlainSQL Table<Record> naturalFullOuterJoin(String sql, Object... bindings)
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!
-
naturalFullOuterJoin
@Support({AURORA_POSTGRES,DB2,FIREBIRD,HSQLDB,INFORMIX,INGRES,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @PlainSQL Table<Record> naturalFullOuterJoin(String sql, QueryPart... parts)
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!
-
naturalFullOuterJoin
@Support({AURORA_POSTGRES,DB2,FIREBIRD,HSQLDB,INFORMIX,INGRES,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,SYBASE,TERADATA,VERTICA}) Table<Record> naturalFullOuterJoin(Name name)
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.
- See Also:
DSL.table(Name)
-
crossApply
@Support({AURORA_POSTGRES,DB2,ORACLE12C,POSTGRES_9_3,SQLDATAWAREHOUSE,SQLSERVER,SYBASE}) Table<Record> crossApply(TableLike<?> table)
CROSS APPLY
a table to this table.
-
crossApply
@Support({AURORA_POSTGRES,DB2,ORACLE12C,POSTGRES_9_3,SQLDATAWAREHOUSE,SQLSERVER,SYBASE}) @PlainSQL Table<Record> crossApply(SQL sql)
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!
- See Also:
DSL.table(SQL)
,SQL
-
crossApply
@Support({AURORA_POSTGRES,DB2,ORACLE12C,POSTGRES_9_3,SQLDATAWAREHOUSE,SQLSERVER,SYBASE}) @PlainSQL Table<Record> crossApply(String sql)
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!
- See Also:
DSL.table(String)
,SQL
-
crossApply
@Support({AURORA_POSTGRES,DB2,ORACLE12C,POSTGRES_9_3,SQLDATAWAREHOUSE,SQLSERVER,SYBASE}) @PlainSQL Table<Record> crossApply(String sql, Object... bindings)
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!
-
crossApply
@Support({AURORA_POSTGRES,DB2,ORACLE12C,POSTGRES_9_3,SQLDATAWAREHOUSE,SQLSERVER,SYBASE}) @PlainSQL Table<Record> crossApply(String sql, QueryPart... parts)
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!
-
crossApply
@Support({AURORA_POSTGRES,DB2,ORACLE12C,POSTGRES_9_3,SQLDATAWAREHOUSE,SQLSERVER,SYBASE}) Table<Record> crossApply(Name name)
CROSS APPLY
a table to this table.- See Also:
DSL.table(Name)
-
outerApply
@Support({AURORA_POSTGRES,DB2,ORACLE12C,POSTGRES_9_3,SQLDATAWAREHOUSE,SQLSERVER,SYBASE}) Table<Record> outerApply(TableLike<?> table)
OUTER APPLY
a table to this table.
-
outerApply
@Support({AURORA_POSTGRES,DB2,ORACLE12C,POSTGRES_9_3,SQLDATAWAREHOUSE,SQLSERVER,SYBASE}) @PlainSQL Table<Record> outerApply(SQL sql)
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!
- See Also:
DSL.table(SQL)
,SQL
-
outerApply
@Support({AURORA_POSTGRES,DB2,ORACLE12C,POSTGRES_9_3,SQLDATAWAREHOUSE,SQLSERVER,SYBASE}) @PlainSQL Table<Record> outerApply(String sql)
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!
- See Also:
DSL.table(String)
,SQL
-
outerApply
@Support({AURORA_POSTGRES,DB2,ORACLE12C,POSTGRES_9_3,SQLDATAWAREHOUSE,SQLSERVER,SYBASE}) @PlainSQL Table<Record> outerApply(String sql, Object... bindings)
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!
-
outerApply
@Support({AURORA_POSTGRES,DB2,ORACLE12C,POSTGRES_9_3,SQLDATAWAREHOUSE,SQLSERVER,SYBASE}) @PlainSQL Table<Record> outerApply(String sql, QueryPart... parts)
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!
-
outerApply
@Support({AURORA_POSTGRES,DB2,ORACLE12C,POSTGRES_9_3,SQLDATAWAREHOUSE,SQLSERVER,SYBASE}) Table<Record> outerApply(Name name)
OUTER APPLY
a table to this table.- See Also:
DSL.table(Name)
-
straightJoin
@Support({MEMSQL,MYSQL}) TableOnStep<Record> straightJoin(TableLike<?> table)
STRAIGHT_JOIN
a table to this table.
-
straightJoin
@Support({MEMSQL,MYSQL}) @PlainSQL TableOnStep<Record> straightJoin(SQL sql)
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!
- See Also:
DSL.table(SQL)
,SQL
-
straightJoin
@Support({MEMSQL,MYSQL}) @PlainSQL TableOnStep<Record> straightJoin(String sql)
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!
- See Also:
DSL.table(String)
,SQL
-
straightJoin
@Support({MEMSQL,MYSQL}) @PlainSQL TableOnStep<Record> straightJoin(String sql, Object... bindings)
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!
-
straightJoin
@Support({MEMSQL,MYSQL}) @PlainSQL TableOnStep<Record> straightJoin(String sql, QueryPart... parts)
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!
-
straightJoin
@Support({MEMSQL,MYSQL}) @PlainSQL TableOnStep<Record> straightJoin(Name name)
STRAIGHT_JOIN
a table to this table.- See Also:
DSL.table(Name)
-
eq
@Support Condition eq(Table<R> 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));
- See Also:
equal(Table)
-
equal
@Support Condition equal(Table<R> 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));
-
equals
boolean equals(Object other)
Check whether thisQueryPart
can be considered equal to anotherQueryPart
.In general,
QueryPart
equality is defined in terms ofQueryPart.toString()
equality. In other words, two query parts are considered equal if their rendered SQL (with inlined bind variables) is equal. This means that the two query parts do not necessarily have to be of the same type.Some
QueryPart
implementations may choose to override this behaviour for improved performance, asQueryPart.toString()
is an expensive operation, if called many times.Watch out! This is
Object.equals(Object)
, not a jOOQ DSL feature!
-
ne
@Support Condition ne(Table<R> 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));
- See Also:
notEqual(Table)
-
notEqual
@Support Condition notEqual(Table<R> 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
@Support({MARIADB,MYSQL}) Table<R> useIndex(String... indexes)
Specify a MySQL style table hint for query optimisation.Example:
create.select() .from(BOOK.as("b").useIndex("MY_INDEX") .fetch();
-
useIndexForJoin
@Support({MARIADB,MYSQL}) Table<R> useIndexForJoin(String... indexes)
Specify a MySQL style table hint for query optimisation.Example:
create.select() .from(BOOK.as("b").useIndexForJoin("MY_INDEX") .fetch();
-
useIndexForOrderBy
@Support({MARIADB,MYSQL}) Table<R> useIndexForOrderBy(String... indexes)
Specify a MySQL style table hint for query optimisation.Example:
create.select() .from(BOOK.as("b").useIndexForOrderBy("MY_INDEX") .fetch();
-
useIndexForGroupBy
@Support({MARIADB,MYSQL}) Table<R> useIndexForGroupBy(String... indexes)
Specify a MySQL style table hint for query optimisation.Example:
create.select() .from(BOOK.as("b").useIndexForGroupBy("MY_INDEX") .fetch();
-
ignoreIndex
@Support({MARIADB,MYSQL}) Table<R> ignoreIndex(String... indexes)
Specify a MySQL style table hint for query optimisation.Example:
create.select() .from(BOOK.as("b").useIndex("MY_INDEX") .fetch();
-
ignoreIndexForJoin
@Support({MARIADB,MYSQL}) Table<R> ignoreIndexForJoin(String... indexes)
Specify a MySQL style table hint for query optimisation.Example:
create.select() .from(BOOK.as("b").useIndexForJoin("MY_INDEX") .fetch();
-
ignoreIndexForOrderBy
@Support({MARIADB,MYSQL}) Table<R> ignoreIndexForOrderBy(String... indexes)
Specify a MySQL style table hint for query optimisation.Example:
create.select() .from(BOOK.as("b").useIndexForOrderBy("MY_INDEX") .fetch();
-
ignoreIndexForGroupBy
@Support({MARIADB,MYSQL}) Table<R> ignoreIndexForGroupBy(String... indexes)
Specify a MySQL style table hint for query optimisation.Example:
create.select() .from(BOOK.as("b").useIndexForGroupBy("MY_INDEX") .fetch();
-
forceIndex
@Support({MARIADB,MYSQL}) Table<R> forceIndex(String... indexes)
Specify a MySQL style table hint for query optimisation.Example:
create.select() .from(BOOK.as("b").useIndex("MY_INDEX") .fetch();
-
forceIndexForJoin
@Support({MARIADB,MYSQL}) Table<R> forceIndexForJoin(String... indexes)
Specify a MySQL style table hint for query optimisation.Example:
create.select() .from(BOOK.as("b").useIndexForJoin("MY_INDEX") .fetch();
-
forceIndexForOrderBy
@Support({MARIADB,MYSQL}) Table<R> forceIndexForOrderBy(String... indexes)
Specify a MySQL style table hint for query optimisation.Example:
create.select() .from(BOOK.as("b").useIndexForOrderBy("MY_INDEX") .fetch();
-
forceIndexForGroupBy
@Support({MARIADB,MYSQL}) Table<R> forceIndexForGroupBy(String... indexes)
Specify a MySQL style table hint for query optimisation.Example:
create.select() .from(BOOK.as("b").useIndexForGroupBy("MY_INDEX") .fetch();
-
with
@Support({SQLSERVER,SYBASE}) @Pro Table<R> with(String hint)
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)
-
pivot
@Support(ORACLE11G) @Pro PivotForStep pivot(Field<?>... aggregateFunctions)
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)
- Parameters:
aggregateFunctions
- The aggregate functions used for pivoting.- Returns:
- A DSL object to create the
PIVOT
expression
-
-
pivot
@Support(ORACLE11G) @Pro PivotForStep pivot(Collection<? extends Field<?>> aggregateFunctions)
Create a newTABLE
reference from this table, pivoting it into another form.For more details, see
pivot(Field...)
- Parameters:
aggregateFunctions
- The aggregate functions used for pivoting.- Returns:
- A DSL object to create the
PIVOT
expression - See Also:
pivot(Field...)
-
divideBy
@Support({ACCESS,ASE,AURORA_MYSQL,AURORA_POSTGRES,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLDATAWAREHOUSE,SQLITE,SQLSERVER,SYBASE,TERADATA,VERTICA}) DivideByOnStep divideBy(Table<?> divisor)
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
@Support TableOnStep<R> leftSemiJoin(TableLike<?> 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
.
-
leftAntiJoin
@Support TableOnStep<R> leftAntiJoin(TableLike<?> 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
.
-
versionsBetweenScn
@Support(ORACLE) @Pro VersionsBetweenAndStep<R,Number> versionsBetweenScn(Number scn)
Create anSQLDialect.ORACLE
flashback versions query clause from this table.
-
versionsBetweenScn
@Support(ORACLE) @Pro VersionsBetweenAndStep<R,Number> versionsBetweenScn(Field<? extends Number> scn)
Create anSQLDialect.ORACLE
flashback versions query clause from this table.
-
versionsBetweenScnMinvalue
@Support(ORACLE) @Pro VersionsBetweenAndStep<R,Number> versionsBetweenScnMinvalue()
Create anSQLDialect.ORACLE
flashback versions query clause from this table.
-
versionsBetweenTimestamp
@Support(ORACLE) @Pro VersionsBetweenAndStep<R,Timestamp> versionsBetweenTimestamp(Timestamp timestamp)
Create anSQLDialect.ORACLE
flashback versions query clause from this table.
-
versionsBetweenTimestamp
@Support(ORACLE) @Pro VersionsBetweenAndStep<R,Timestamp> versionsBetweenTimestamp(Field<Timestamp> timestamp)
Create anSQLDialect.ORACLE
flashback versions query clause from this table.
-
versionsBetweenTimestampMinvalue
@Support(ORACLE) @Pro VersionsBetweenAndStep<R,Timestamp> versionsBetweenTimestampMinvalue()
Create anSQLDialect.ORACLE
flashback versions query clause from this table.
-
asOfScn
@Support(ORACLE) @Pro Table<R> asOfScn(Number scn)
Create anSQLDialect.ORACLE
flashback query clause from this table.
-
asOfScn
@Support(ORACLE) @Pro Table<R> asOfScn(Field<? extends Number> scn)
Create anSQLDialect.ORACLE
flashback query clause from this table.
-
asOfTimestamp
@Support(ORACLE) @Pro Table<R> asOfTimestamp(Timestamp timestamp)
Create anSQLDialect.ORACLE
flashback query clause from this table.
-
asOfTimestamp
@Support(ORACLE) @Pro Table<R> asOfTimestamp(Field<Timestamp> timestamp)
Create anSQLDialect.ORACLE
flashback query clause from this table.
-
from
R from(Record record)
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);
-
-