Top Description Methods
org.jooq

public non-sealed Interface Row

extends Fields, FieldOrRow, FieldOrRowOrSelect
Known Direct Subinterfaces
org.jooq.Row1, org.jooq.Row10, org.jooq.Row11, org.jooq.Row12, org.jooq.Row13, org.jooq.Row14, org.jooq.Row15, org.jooq.Row16, org.jooq.Row17, org.jooq.Row18, org.jooq.Row19, org.jooq.Row2, org.jooq.Row20, org.jooq.Row21, org.jooq.Row22, org.jooq.Row3, org.jooq.impl.QOM.RowSubquery, org.jooq.Row4, org.jooq.Row5, org.jooq.Row6, org.jooq.Row7, org.jooq.Row8, org.jooq.Row9, org.jooq.RowN
Known Direct Implementers
org.jooq.impl.AbstractRow
Imports
org.jooq.impl.DSL, .QOM, .QOM.UnmodifiableList, org.jetbrains.annotations.NotNull, .ApiStatus.Experimental

A row value expression.

Row value expressions are mainly useful for use in predicates, when comparing several values in one go, which can be more elegant than expanding the row value expression predicate in other equivalent syntaxes. This is especially true for non-equality predicates. For instance, the following two predicates are equivalent in SQL:


(A, B) > (X, Y)
(A > X) OR (A = X AND B > Y)

Example:


// Assuming import static org.jooq.impl.DSL.*;

using(configuration)
   .select()
   .from(CUSTOMER)
   .where(row(CUSTOMER.FIRST_NAME, CUSTOMER.LAST_NAME).in(
       select(ACTOR.FIRST_NAME, ACTOR.LAST_NAME).from(ACTOR)
   ))
   .fetch();

Note

Not all databases support row value expressions, but many row value expression operations can be emulated on all databases. See relevant row value expression method Javadocs for details.

Instances can be created using DSL#row(Object...) and overloads.

Author
Lukas Eder

Method Summary

Modifier and TypeMethod and Description
public @NotNull QOM.UnmodifiableList<? extends Field<?>>
$fields()

Experimental query object model accessor method, see also QOM.

public @NotNull Condition
isNotNull()

Deprecated as a consequence of Condition being deprecated.
Check if this row value expression contains no NULL values.
public @NotNull Condition
isNull()

Deprecated as a consequence of Condition being deprecated.
Check if this row value expression contains only NULL values.
public int
size()

Get the degree of this row value expression.

Inherited from org.jooq.Fields:
dataTypedataTypedataTypedataTypesfieldfieldfieldfieldfieldfieldfieldfieldfieldfieldfieldsfieldsfieldsfieldsfieldsfieldsRowfieldStreamindexOfindexOfindexOftypetypetypetypes

Method Detail

$fieldsback to summary
public @NotNull QOM.UnmodifiableList<? extends Field<?>> $fields()

Experimental query object model accessor method, see also QOM. Subject to change in future jOOQ versions, use at your own risk.

Annotations
@Experimental
@NotNull
isNotNullback to summary
public @NotNull Condition isNotNull()

Deprecated

as a consequence of Condition being deprecated. See corresponding docs for further information.

Check if this row value expression contains no NULL values.

Row NOT NULL predicates can be emulated in those databases that do not support such predicates natively: (A, B) IS NOT NULL is equivalent to A IS NOT NULL AND B IS NOT NULL

Note that the two following predicates are NOT equivalent:

  • (A, B) IS NOT NULL, which is the same as (A IS NOT NULL) AND (B IS NOT NULL)
  • NOT((A, B) IS NULL), which is the same as (A IS NOT NULL) OR (B IS NOT NULL)
Annotations
@NotNull
@Support
isNullback to summary
public @NotNull Condition isNull()

Deprecated

as a consequence of Condition being deprecated. See corresponding docs for further information.

Check if this row value expression contains only NULL values.

Row NULL predicates can be emulated in those databases that do not support such predicates natively: (A, B) IS NULL is equivalent to A IS NULL AND B IS NULL

Annotations
@NotNull
@Support
sizeback to summary
public int size()

Get the degree of this row value expression.