Enum JoinType

java.lang.Object
java.lang.Enum<JoinType>
org.apache.calcite.sql.JoinType
All Implemented Interfaces:
Serializable, Comparable<JoinType>, Constable, Symbolizable

public enum JoinType extends Enum<JoinType> implements Symbolizable
Enumerates the types of join.
  • Nested Class Summary

    Nested classes/interfaces inherited from class java.lang.Enum

    Enum.EnumDesc<E extends Enum<E>>
  • Enum Constant Summary

    Enum Constants
    Enum Constant
    Description
    An ASOF JOIN operation combines rows from two tables based on comparable timestamp values.
    Comma join: the good old-fashioned SQL FROM clause, where table expressions are specified with commas between them, and join conditions are specified in the WHERE clause.
    Cross join (also known as Cartesian product).
    Full outer join.
    Inner join.
    Left outer join.
    Left anti join.
    The left version of an ASOF join, where each row from the left table is part of the output.
    Left semi join.
    Right outer join.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    final String
    Lower-case name.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Returns whether a join of this type may generate NULL values on the left-hand side.
    boolean
    Returns whether a join of this type may generate NULL values on the right-hand side.
    static JoinType
    Returns the enum constant of this type with the specified name.
    static JoinType[]
    Returns an array containing the constants of this enum type, in the order they are declared.

    Methods inherited from class java.lang.Object

    getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.apache.calcite.sql.Symbolizable

    symbol
  • Enum Constant Details

    • INNER

      public static final JoinType INNER
      Inner join.
    • FULL

      public static final JoinType FULL
      Full outer join.
    • CROSS

      public static final JoinType CROSS
      Cross join (also known as Cartesian product).
    • LEFT

      public static final JoinType LEFT
      Left outer join.
    • LEFT_SEMI_JOIN

      public static final JoinType LEFT_SEMI_JOIN
      Left semi join.

      Not used by Calcite; only in Babel's Hive dialect.

    • LEFT_ANTI_JOIN

      public static final JoinType LEFT_ANTI_JOIN
      Left anti join.

      Not used by Calcite; only in Babel's Spark dialect.

    • COMMA

      public static final JoinType COMMA
      Comma join: the good old-fashioned SQL FROM clause, where table expressions are specified with commas between them, and join conditions are specified in the WHERE clause.
    • ASOF

      public static final JoinType ASOF
      An ASOF JOIN operation combines rows from two tables based on comparable timestamp values. For each row in the left table, the join finds at most one row in the right table that has the "closest" timestamp value. The matched row on the right side is the closest match, which could less than or equal or greater than or equal in the timestamp column, as specified by the comparison operator.

      Example:

       FROM left_table ASOF JOIN right_table
         MATCH_CONDITION ( left_table.timecol ≤ right_table.timecol )
         ON left_table.col = right_table.col
    • LEFT_ASOF

      public static final JoinType LEFT_ASOF
      The left version of an ASOF join, where each row from the left table is part of the output.
  • Field Details

    • lowerName

      public final String lowerName
      Lower-case name.
  • Method Details

    • values

      public static JoinType[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      Returns:
      an array containing the constants of this enum type, in the order they are declared
    • valueOf

      public static JoinType valueOf(String name)
      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum type has no constant with the specified name
      NullPointerException - if the argument is null
    • generatesNullsOnLeft

      public boolean generatesNullsOnLeft()
      Returns whether a join of this type may generate NULL values on the left-hand side.
    • generatesNullsOnRight

      public boolean generatesNullsOnRight()
      Returns whether a join of this type may generate NULL values on the right-hand side.