org.jooq
Interface SelectOnStep


public interface SelectOnStep

This type is used for the Select's DSL API when selecting generic Record types.

Example:

 -- 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
 
Its equivalent in jOOQ
 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();
 
Refer to the manual for more details

Author:
Lukas Eder

Method Summary
 SelectOnConditionStep on(Condition... conditions)
          Add an ON clause to the previous JOIN
 SelectOnConditionStep on(String sql)
          Add an ON clause to the previous JOIN NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity.
 SelectOnConditionStep on(String sql, Object... bindings)
          Add an ON clause to the previous JOIN NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity.
 SelectJoinStep onKey()
          Join the previous table on a non-ambiguous foreign key relationship between the two joined tables.
 SelectJoinStep onKey(ForeignKey<?,?> key)
          Join the table on a non-ambiguous foreign key relationship between the two joined tables.
 SelectJoinStep onKey(TableField<?,?>... keyFields)
          Join the previous table on a non-ambiguous foreign key relationship between the two joined tables.
 SelectJoinStep using(Collection<? extends Field<?>> fields)
          Join the previous table with the USING(column [, column...])
 SelectJoinStep using(Field<?>... fields)
          Join the previous table with the USING(column [, column...])
 

Method Detail

on

SelectOnConditionStep on(Condition... conditions)
Add an ON clause to the previous JOIN


on

SelectOnConditionStep on(String sql)
Add an ON clause to the previous JOIN

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:
Factory.condition(String)

on

SelectOnConditionStep on(String sql,
                         Object... bindings)
Add an ON clause to the previous JOIN

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:
Factory.condition(String, Object...)

onKey

SelectJoinStep onKey()
                     throws DataAccessException
Join the previous table on a non-ambiguous foreign key relationship between the two joined tables.

See TableOnStep.onKey(ForeignKey) for examples.

Throws:
DataAccessException - If there is no non-ambiguous key definition known to jOOQ
See Also:
TableOnStep.onKey(ForeignKey)

onKey

SelectJoinStep onKey(TableField<?,?>... keyFields)
                     throws DataAccessException
Join the previous table on a non-ambiguous foreign key relationship between the two joined tables.

See TableOnStep.onKey(ForeignKey) for examples.

Throws:
DataAccessException - If there is no non-ambiguous key definition known to jOOQ
See Also:
TableOnStep.onKey(ForeignKey)

onKey

SelectJoinStep onKey(ForeignKey<?,?> key)
Join the table on a non-ambiguous foreign key relationship between the two joined tables.

See TableOnStep.onKey(ForeignKey) for examples.

See Also:
TableOnStep.onKey(ForeignKey)

using

SelectJoinStep using(Field<?>... fields)
Join the previous table with the USING(column [, column...]) syntax

If this is not supported by your RDBMS, then jOOQ will try to simulate this behaviour using the information provided in this query.


using

SelectJoinStep using(Collection<? extends Field<?>> fields)
Join the previous table with the USING(column [, column...]) syntax

If this is not supported by your RDBMS, then jOOQ will try to simulate this behaviour using the information provided in this query.



Copyright © 2012. All Rights Reserved.