Package org.apache.calcite.linq4j
Enum JoinType
- All Implemented Interfaces:
Serializable
,Comparable<JoinType>
,Constable
Enumeration of join types.
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>>
-
Enum Constant Summary
Enum ConstantDescriptionAnti-join (also known as Anti-semi-join).An ASOF JOIN operation combines rows from two tables based on comparable timestamp values.Full-outer join.Inner join.Left-outer join.The left version of an ASOF join, where each row from the left table is part of the output.Right-outer join.Semi-join. -
Method Summary
Modifier and TypeMethodDescriptionboolean
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[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
Enum Constant Details
-
INNER
Inner join. -
LEFT
Left-outer join. -
RIGHT
Right-outer join. -
FULL
Full-outer join. -
SEMI
Semi-join.For example,
EMP semi-join DEPT
finds allEMP
records that have a correspondingDEPT
record:SELECT * FROM EMP WHERE EXISTS (SELECT 1 FROM DEPT WHERE DEPT.DEPTNO = EMP.DEPTNO)
-
ANTI
Anti-join (also known as Anti-semi-join).For example,
EMP anti-join DEPT
finds allEMP
records that do not have a correspondingDEPT
record:SELECT * FROM EMP WHERE NOT EXISTS (SELECT 1 FROM DEPT WHERE DEPT.DEPTNO = EMP.DEPTNO)
-
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
The left version of an ASOF join, where each row from the left table is part of the output.
-
-
Method Details
-
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
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 nameNullPointerException
- if the argument is null
-
generatesNullsOnRight
public boolean generatesNullsOnRight()Returns whether a join of this type may generate NULL values on the right-hand side. -
generatesNullsOnLeft
public boolean generatesNullsOnLeft()Returns whether a join of this type may generate NULL values on the left-hand side.
-