public interface SelectJoinStep<R extends Record> extends SelectWhereStep<R>
Select's DSL API when selecting generic
 Record types.
 
 Example:  Its equivalent in jOOQ 
 -- get all authors' first and last names, and the number
 -- of books they've written in German, if they have written
 -- more than five books in German in the last three years
 -- (from 2011), and sort those authors by last names
 -- limiting results to the second and third row
   SELECT T_AUTHOR.FIRST_NAME, T_AUTHOR.LAST_NAME, COUNT(*)
     FROM T_AUTHOR
     JOIN T_BOOK ON T_AUTHOR.ID = T_BOOK.AUTHOR_ID
    WHERE T_BOOK.LANGUAGE = 'DE'
      AND T_BOOK.PUBLISHED > '2008-01-01'
 GROUP BY T_AUTHOR.FIRST_NAME, T_AUTHOR.LAST_NAME
   HAVING COUNT(*) > 5
 ORDER BY T_AUTHOR.LAST_NAME ASC NULLS FIRST
    LIMIT 2
   OFFSET 1
      FOR UPDATE
       OF FIRST_NAME, LAST_NAME
       NO WAIT
  Refer to the manual for more details
 create.select(TAuthor.FIRST_NAME, TAuthor.LAST_NAME, create.count())
       .from(T_AUTHOR)
       .join(T_BOOK).on(TBook.AUTHOR_ID.equal(TAuthor.ID))
       .where(TBook.LANGUAGE.equal("DE"))
       .and(TBook.PUBLISHED.greaterThan(parseDate('2008-01-01')))
       .groupBy(TAuthor.FIRST_NAME, TAuthor.LAST_NAME)
       .having(create.count().greaterThan(5))
       .orderBy(TAuthor.LAST_NAME.asc().nullsFirst())
       .limit(2)
       .offset(1)
       .forUpdate()
       .of(TAuthor.FIRST_NAME, TAuthor.LAST_NAME)
       .noWait();
 
| Modifier and Type | Method and Description | 
|---|---|
SelectJoinStep<R> | 
crossApply(String sql)
CROSS APPLY a table to this table. | 
SelectJoinStep<R> | 
crossApply(String sql,
          Object... bindings)
CROSS APPLY a table to this table. | 
SelectJoinStep<R> | 
crossApply(String sql,
          QueryPart... parts)
CROSS APPLY a table to this table. | 
SelectJoinStep<R> | 
crossApply(TableLike<?> table)
CROSS APPLY a table to this table. | 
SelectJoinStep<R> | 
crossJoin(String sql)
Convenience method to  
CROSS JOIN a table to the last table
 added to the FROM clause using
 Table.crossJoin(String)
 
 If this syntax is unavailable, it is simulated with a regular
 INNER JOIN. | 
SelectJoinStep<R> | 
crossJoin(String sql,
         Object... bindings)
Convenience method to  
CROSS JOIN a table to the last table
 added to the FROM clause using
 Table.crossJoin(String, Object...) | 
SelectJoinStep<R> | 
crossJoin(String sql,
         QueryPart... parts)
Convenience method to  
CROSS JOIN a table to the last table
 added to the FROM clause using
 Table.crossJoin(String, QueryPart...) | 
SelectJoinStep<R> | 
crossJoin(TableLike<?> table)
Convenience method to  
CROSS JOIN a table to the last table
 added to the FROM clause using
 Table.crossJoin(TableLike)
 
 If this syntax is unavailable, it is simulated with a regular
 INNER JOIN. | 
SelectOnStep<R> | 
fullOuterJoin(String sql)
Convenience method to  
FULL OUTER JOIN a table to the last
 table added to the FROM clause using
 Table.fullOuterJoin(String)
 
 This is only possible where the underlying RDBMS supports it
 
 NOTE: When inserting plain SQL into jOOQ objects, you must
 guarantee syntax integrity. | 
SelectOnStep<R> | 
fullOuterJoin(String sql,
             Object... bindings)
Convenience method to  
FULL OUTER JOIN a tableto the last
 table added to the FROM clause using
 Table.fullOuterJoin(String, Object...) | 
SelectOnStep<R> | 
fullOuterJoin(String sql,
             QueryPart... parts)
Convenience method to  
FULL OUTER JOIN a tableto the last
 table added to the FROM clause using
 Table.fullOuterJoin(String, QueryPart...) | 
SelectOnStep<R> | 
fullOuterJoin(TableLike<?> table)
Convenience method to  
FULL OUTER JOIN a table to the last
 table added to the FROM clause using
 Table.fullOuterJoin(TableLike)
 
 This is only possible where the underlying RDBMS supports it | 
SelectOnStep<R> | 
join(String sql)
Convenience method to  
INNER JOIN a table to the last table
 added to the FROM clause using Table.join(String)
 
 NOTE: When inserting plain SQL into jOOQ objects, you must
 guarantee syntax integrity. | 
SelectOnStep<R> | 
join(String sql,
    Object... bindings)
Convenience method to  
INNER JOIN a table to the last table
 added to the FROM clause using
 Table.join(String, Object...) | 
SelectOnStep<R> | 
join(String sql,
    QueryPart... parts)
Convenience method to  
INNER JOIN a table to the last table
 added to the FROM clause using
 Table.join(String, QueryPart...) | 
SelectOnStep<R> | 
join(TableLike<?> table)
Convenience method to  
INNER JOIN a table to the last table
 added to the FROM clause using Table.join(TableLike) | 
SelectOptionalOnStep<R> | 
join(TableLike<?> table,
    JoinType type)
Convenience method to join a table to the last table added to the
  
FROM clause using Table.join(TableLike, JoinType)
 
 Depending on the JoinType, a subsequent
 SelectOnStep.on(Condition...) or
 SelectOnStep.using(Field...) clause is required. | 
SelectJoinPartitionByStep<R> | 
leftOuterJoin(String sql)
Convenience method to  
LEFT OUTER JOIN a table to the last
 table added to the FROM clause using
 Table.leftOuterJoin(String)
 
 NOTE: When inserting plain SQL into jOOQ objects, you must
 guarantee syntax integrity. | 
SelectJoinPartitionByStep<R> | 
leftOuterJoin(String sql,
             Object... bindings)
Convenience method to  
LEFT OUTER JOIN a table to the last
 table added to the FROM clause using
 Table.leftOuterJoin(String, Object...) | 
SelectJoinPartitionByStep<R> | 
leftOuterJoin(String sql,
             QueryPart... parts)
Convenience method to  
LEFT OUTER JOIN a table to the last
 table added to the FROM clause using
 Table.leftOuterJoin(String, QueryPart...) | 
SelectJoinPartitionByStep<R> | 
leftOuterJoin(TableLike<?> table)
Convenience method to  
LEFT OUTER JOIN a table to the last
 table added to the FROM clause using
 Table.leftOuterJoin(TableLike) | 
SelectJoinStep<R> | 
naturalJoin(String sql)
Convenience method to  
NATURAL JOIN a table to the last table
 added to the FROM clause using
 Table.naturalJoin(String)
 
 Natural joins are supported by most RDBMS. | 
SelectJoinStep<R> | 
naturalJoin(String sql,
           Object... bindings)
Convenience method to  
NATURAL JOIN a table to the last table
 added to the FROM clause using
 Table.naturalJoin(String, Object...) | 
SelectJoinStep<R> | 
naturalJoin(String sql,
           QueryPart... parts)
Convenience method to  
NATURAL JOIN a table to the last table
 added to the FROM clause using
 Table.naturalJoin(String, QueryPart...) | 
SelectJoinStep<R> | 
naturalJoin(TableLike<?> table)
Convenience method to  
NATURAL JOIN a table to the last table
 added to the FROM clause using
 Table.naturalJoin(TableLike)
 
 Natural joins are supported by most RDBMS. | 
SelectJoinStep<R> | 
naturalLeftOuterJoin(String sql)
Convenience method to  
NATURAL LEFT OUTER JOIN a table to the
 last table added to the FROM clause using
 Table.naturalLeftOuterJoin(String)
 
 Natural joins are supported by most RDBMS. | 
SelectJoinStep<R> | 
naturalLeftOuterJoin(String sql,
                    Object... bindings)
Convenience method to  
NATURAL LEFT OUTER JOIN a table to the
 last table added to the FROM clause using
 Table.naturalLeftOuterJoin(String, Object...) | 
SelectJoinStep<R> | 
naturalLeftOuterJoin(String sql,
                    QueryPart... parts)
Convenience method to  
NATURAL LEFT OUTER JOIN a table to the
 last table added to the FROM clause using
 Table.naturalLeftOuterJoin(String, QueryPart...) | 
SelectJoinStep<R> | 
naturalLeftOuterJoin(TableLike<?> table)
Convenience method to  
NATURAL LEFT OUTER JOIN a table to the
 last table added to the FROM clause using
 Table.naturalLeftOuterJoin(TableLike)
 
 Natural joins are supported by most RDBMS. | 
SelectJoinStep<R> | 
naturalRightOuterJoin(String sql)
Convenience method to  
NATURAL RIGHT OUTER JOIN a table to
 the last table added to the FROM clause using
 Table.naturalRightOuterJoin(String)
 
 Natural joins are supported by most RDBMS. | 
SelectJoinStep<R> | 
naturalRightOuterJoin(String sql,
                     Object... bindings)
Convenience method to  
NATURAL RIGHT OUTER JOIN a table to
 the last table added to the FROM clause using
 Table.naturalRightOuterJoin(String, Object...) | 
SelectJoinStep<R> | 
naturalRightOuterJoin(String sql,
                     QueryPart... parts)
Convenience method to  
NATURAL RIGHT OUTER JOIN a table to
 the last table added to the FROM clause using
 Table.naturalRightOuterJoin(String, QueryPart...) | 
SelectJoinStep<R> | 
naturalRightOuterJoin(TableLike<?> table)
Convenience method to  
NATURAL RIGHT OUTER JOIN a table to
 the last table added to the FROM clause using
 Table.naturalRightOuterJoin(TableLike)
 
 Natural joins are supported by most RDBMS. | 
SelectJoinStep<R> | 
outerApply(String sql)
OUTER APPLY a table to this table. | 
SelectJoinStep<R> | 
outerApply(String sql,
          Object... bindings)
OUTER APPLY a table to this table. | 
SelectJoinStep<R> | 
outerApply(String sql,
          QueryPart... parts)
OUTER APPLY a table to this table. | 
SelectJoinStep<R> | 
outerApply(TableLike<?> table)
OUTER APPLY a table to this table. | 
SelectJoinPartitionByStep<R> | 
rightOuterJoin(String sql)
Convenience method to  
RIGHT OUTER JOIN a table to the last
 table added to the FROM clause using
 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. | 
SelectJoinPartitionByStep<R> | 
rightOuterJoin(String sql,
              Object... bindings)
Convenience method to  
RIGHT OUTER JOIN a table to the last
 table added to the FROM clause using
 Table.rightOuterJoin(String, Object...) | 
SelectJoinPartitionByStep<R> | 
rightOuterJoin(String sql,
              QueryPart... parts)
Convenience method to  
RIGHT OUTER JOIN a table to the last
 table added to the FROM clause using
 Table.rightOuterJoin(String, QueryPart...) | 
SelectJoinPartitionByStep<R> | 
rightOuterJoin(TableLike<?> table)
Convenience method to  
RIGHT OUTER JOIN a table to the last
 table added to the FROM clause using
 Table.rightOuterJoin(TableLike)
 
 This is only possible where the underlying RDBMS supports it | 
where, where, where, where, where, where, whereExists, whereNotExistsconnectBy, connectBy, connectBy, connectBy, connectBy, connectByNoCycle, connectByNoCycle, connectByNoCycle, connectByNoCycle, connectByNoCyclegroupBy, groupByhaving, having, having, having, having, havingwindow, windoworderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderBy, orderSiblingsBy, orderSiblingsBy, orderSiblingsBy, orderSiblingsByforShare, forUpdate, withCheckOption, withReadOnlyoptionexcept, intersect, union, unionAllgetQueryfetchCount, getSelectbind, bind, fetch, fetch, fetch, fetch, fetch, fetch, fetch, fetch, fetch, fetch, fetch, fetchAny, fetchAny, fetchAny, fetchAny, fetchAny, fetchAny, fetchAny, fetchAny, fetchAny, fetchAny, fetchAnyArray, fetchAnyInto, fetchAnyInto, fetchAnyMap, fetchArray, fetchArray, fetchArray, fetchArray, fetchArray, fetchArray, fetchArray, fetchArray, fetchArray, fetchArray, fetchArrays, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchGroups, fetchInto, fetchInto, fetchInto, fetchLater, fetchLater, fetchLazy, fetchLazy, fetchMany, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMap, fetchMaps, fetchOne, fetchOne, fetchOne, fetchOne, fetchOne, fetchOne, fetchOne, fetchOne, fetchOne, fetchOne, fetchOne, fetchOneArray, fetchOneInto, fetchOneInto, fetchOneMap, fetchResultSet, fetchSet, fetchSet, fetchSet, fetchSet, fetchSet, fetchSet, fetchSet, fetchSet, fetchSet, fetchSize, getRecordType, getResult, intern, intern, intern, iterator, keepStatement, maxRows, queryTimeout, resultSetConcurrency, resultSetHoldability, resultSetTypecancel, close, execute, getBindValues, getParam, getParams, getSQL, getSQL, getSQL, isExecutableattach, detachforEach, spliterator@Support SelectOptionalOnStep<R> join(TableLike<?> table, JoinType type)
FROM clause using Table.join(TableLike, JoinType)
 
 Depending on the JoinType, a subsequent
 SelectOnStep.on(Condition...) or
 SelectOnStep.using(Field...) clause is required. If it is
 required but omitted, the JOIN clause will be ignored
@Support SelectOnStep<R> join(TableLike<?> table)
INNER JOIN a table to the last table
 added to the FROM clause using Table.join(TableLike)Table.join(TableLike)@Support @PlainSQL SelectOnStep<R> join(String sql)
INNER JOIN a table to the last table
 added to the FROM clause using Table.join(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!
DSL.table(String), 
Table.join(String)@Support @PlainSQL SelectOnStep<R> join(String sql, Object... bindings)
INNER JOIN a table to the last table
 added to the FROM clause using
 Table.join(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!
@Support @PlainSQL SelectOnStep<R> join(String sql, QueryPart... parts)
INNER JOIN a table to the last table
 added to the FROM clause using
 Table.join(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!
@Support(value={ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE}) SelectJoinStep<R> crossJoin(TableLike<?> table)
CROSS JOIN a table to the last table
 added to the FROM clause using
 Table.crossJoin(TableLike)
 
 If this syntax is unavailable, it is simulated with a regular
 INNER JOIN. The following two constructs are equivalent:
 
 A cross join B
 A join B on 1 = 1
 
Table.crossJoin(TableLike)@Support(value={ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE}) @PlainSQL SelectJoinStep<R> crossJoin(String sql)
CROSS JOIN a table to the last table
 added to the FROM clause using
 Table.crossJoin(String)
 
 If this syntax is unavailable, it is simulated 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!
DSL.table(String), 
Table.crossJoin(String)@Support(value={ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE}) @PlainSQL SelectJoinStep<R> crossJoin(String sql, Object... bindings)
CROSS JOIN a table to the last table
 added to the FROM clause using
 Table.crossJoin(String, Object...)
 
 If this syntax is unavailable, it is simulated 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!
@Support(value={ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE}) @PlainSQL SelectJoinStep<R> crossJoin(String sql, QueryPart... parts)
CROSS JOIN a table to the last table
 added to the FROM clause using
 Table.crossJoin(String, QueryPart...)
 
 If this syntax is unavailable, it is simulated 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!
@Support SelectJoinPartitionByStep<R> leftOuterJoin(TableLike<?> table)
LEFT OUTER JOIN a table to the last
 table added to the FROM clause using
 Table.leftOuterJoin(TableLike)Table.leftOuterJoin(TableLike)@Support @PlainSQL SelectJoinPartitionByStep<R> leftOuterJoin(String sql)
LEFT OUTER JOIN a table to the last
 table added to the FROM clause using
 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!
DSL.table(String), 
Table.leftOuterJoin(String)@Support @PlainSQL SelectJoinPartitionByStep<R> leftOuterJoin(String sql, Object... bindings)
LEFT OUTER JOIN a table to the last
 table added to the FROM clause using
 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!
@Support @PlainSQL SelectJoinPartitionByStep<R> leftOuterJoin(String sql, QueryPart... parts)
LEFT OUTER JOIN a table to the last
 table added to the FROM clause using
 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!
@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE}) SelectJoinPartitionByStep<R> rightOuterJoin(TableLike<?> table)
RIGHT OUTER JOIN a table to the last
 table added to the FROM clause using
 Table.rightOuterJoin(TableLike)
 This is only possible where the underlying RDBMS supports it
Table.rightOuterJoin(TableLike)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE}) @PlainSQL SelectJoinPartitionByStep<R> rightOuterJoin(String sql)
RIGHT OUTER JOIN a table to the last
 table added to the FROM clause using
 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!
DSL.table(String), 
Table.rightOuterJoin(String)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE}) @PlainSQL SelectJoinPartitionByStep<R> rightOuterJoin(String sql, Object... bindings)
RIGHT OUTER JOIN a table to the last
 table added to the FROM clause using
 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!
@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE}) @PlainSQL SelectJoinPartitionByStep<R> rightOuterJoin(String sql, QueryPart... parts)
RIGHT OUTER JOIN a table to the last
 table added to the FROM clause using
 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!
@Support(value={DB2,FIREBIRD,HANA,HSQLDB,INFORMIX,INGRES,ORACLE,POSTGRES,SQLSERVER,SYBASE}) SelectOnStep<R> fullOuterJoin(TableLike<?> table)
FULL OUTER JOIN a table to the last
 table added to the FROM clause using
 Table.fullOuterJoin(TableLike)
 This is only possible where the underlying RDBMS supports it
Table.fullOuterJoin(TableLike)@Support(value={DB2,FIREBIRD,HANA,HSQLDB,INFORMIX,INGRES,ORACLE,POSTGRES,SQLSERVER,SYBASE}) @PlainSQL SelectOnStep<R> fullOuterJoin(String sql)
FULL OUTER JOIN a table to the last
 table added to the FROM clause using
 Table.fullOuterJoin(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!
DSL.table(String), 
Table.fullOuterJoin(String)@Support(value={DB2,FIREBIRD,HANA,HSQLDB,INFORMIX,INGRES,ORACLE,POSTGRES,SQLSERVER,SYBASE}) @PlainSQL SelectOnStep<R> fullOuterJoin(String sql, Object... bindings)
FULL OUTER JOIN a tableto the last
 table added to the FROM clause using
 Table.fullOuterJoin(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!
@Support(value={DB2,FIREBIRD,HANA,HSQLDB,INFORMIX,INGRES,ORACLE,POSTGRES,SQLSERVER,SYBASE}) @PlainSQL SelectOnStep<R> fullOuterJoin(String sql, QueryPart... parts)
FULL OUTER JOIN a tableto the last
 table added to the FROM clause using
 Table.fullOuterJoin(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!
@Support SelectJoinStep<R> naturalJoin(TableLike<?> table)
NATURAL JOIN a table to the last table
 added to the FROM clause using
 Table.naturalJoin(TableLike)
 Natural joins are supported by most RDBMS. If they aren't supported, they are simulated if jOOQ has enough information.
Table.naturalJoin(TableLike)@Support @PlainSQL SelectJoinStep<R> naturalJoin(String sql)
NATURAL JOIN a table to the last table
 added to the FROM clause using
 Table.naturalJoin(String)
 Natural joins are supported by most RDBMS. If they aren't supported, they are simulated if jOOQ has enough information.
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
DSL.table(String), 
Table.naturalJoin(String)@Support @PlainSQL SelectJoinStep<R> naturalJoin(String sql, Object... bindings)
NATURAL JOIN a table to the last table
 added to the FROM clause using
 Table.naturalJoin(String, Object...)
 Natural joins are supported by most RDBMS. If they aren't supported, they are simulated if jOOQ has enough information.
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
@Support @PlainSQL SelectJoinStep<R> naturalJoin(String sql, QueryPart... parts)
NATURAL JOIN a table to the last table
 added to the FROM clause using
 Table.naturalJoin(String, QueryPart...)
 Natural joins are supported by most RDBMS. If they aren't supported, they are simulated if jOOQ has enough information.
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
@Support SelectJoinStep<R> naturalLeftOuterJoin(TableLike<?> table)
NATURAL LEFT OUTER JOIN a table to the
 last table added to the FROM clause using
 Table.naturalLeftOuterJoin(TableLike)
 Natural joins are supported by most RDBMS. If they aren't supported, they are simulated if jOOQ has enough information.
Table.naturalLeftOuterJoin(TableLike)@Support @PlainSQL SelectJoinStep<R> naturalLeftOuterJoin(String sql)
NATURAL LEFT OUTER JOIN a table to the
 last table added to the FROM clause using
 Table.naturalLeftOuterJoin(String)
 Natural joins are supported by most RDBMS. If they aren't supported, they are simulated if jOOQ has enough information.
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
@Support @PlainSQL SelectJoinStep<R> naturalLeftOuterJoin(String sql, Object... bindings)
NATURAL LEFT OUTER JOIN a table to the
 last table added to the FROM clause using
 Table.naturalLeftOuterJoin(String, Object...)
 Natural joins are supported by most RDBMS. If they aren't supported, they are simulated if jOOQ has enough information.
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
@Support @PlainSQL SelectJoinStep<R> naturalLeftOuterJoin(String sql, QueryPart... parts)
NATURAL LEFT OUTER JOIN a table to the
 last table added to the FROM clause using
 Table.naturalLeftOuterJoin(String, QueryPart...)
 Natural joins are supported by most RDBMS. If they aren't supported, they are simulated if jOOQ has enough information.
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE}) SelectJoinStep<R> naturalRightOuterJoin(TableLike<?> table)
NATURAL RIGHT OUTER JOIN a table to
 the last table added to the FROM clause using
 Table.naturalRightOuterJoin(TableLike)
 Natural joins are supported by most RDBMS. If they aren't supported, they are simulated if jOOQ has enough information.
Table.naturalRightOuterJoin(TableLike)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE}) @PlainSQL SelectJoinStep<R> naturalRightOuterJoin(String sql)
NATURAL RIGHT OUTER JOIN a table to
 the last table added to the FROM clause using
 Table.naturalRightOuterJoin(String)
 Natural joins are supported by most RDBMS. If they aren't supported, they are simulated if jOOQ has enough information.
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE}) @PlainSQL SelectJoinStep<R> naturalRightOuterJoin(String sql, Object... bindings)
NATURAL RIGHT OUTER JOIN a table to
 the last table added to the FROM clause using
 Table.naturalRightOuterJoin(String, Object...)
 Natural joins are supported by most RDBMS. If they aren't supported, they are simulated if jOOQ has enough information.
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE}) @PlainSQL SelectJoinStep<R> naturalRightOuterJoin(String sql, QueryPart... parts)
NATURAL RIGHT OUTER JOIN a table to
 the last table added to the FROM clause using
 Table.naturalRightOuterJoin(String, QueryPart...)
 Natural joins are supported by most RDBMS. If they aren't supported, they are simulated if jOOQ has enough information.
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
@Support(value={ORACLE12C,SQLSERVER,SYBASE}) SelectJoinStep<R> crossApply(TableLike<?> table)
CROSS APPLY a table to this table.Table.crossApply(TableLike)@Support(value={ORACLE12C,SQLSERVER,SYBASE}) @PlainSQL SelectJoinStep<R> 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!
DSL.table(String), 
Table.crossApply(String)@Support(value={ORACLE12C,SQLSERVER,SYBASE}) @PlainSQL SelectJoinStep<R> 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!
@Support(value={ORACLE12C,SQLSERVER,SYBASE}) @PlainSQL SelectJoinStep<R> 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!
@Support(value={ORACLE12C,SQLSERVER,SYBASE}) SelectJoinStep<R> outerApply(TableLike<?> table)
OUTER APPLY a table to this table.Table.outerApply(TableLike)@Support(value={ORACLE12C,SQLSERVER,SYBASE}) @PlainSQL SelectJoinStep<R> 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!
DSL.table(String), 
Table.outerApply(String)@Support(value={ORACLE12C,SQLSERVER,SYBASE}) @PlainSQL SelectJoinStep<R> 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!
@Support(value={ORACLE12C,SQLSERVER,SYBASE}) @PlainSQL SelectJoinStep<R> 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!
Copyright © 2015. All Rights Reserved.