OptionalcommentsComments collected between join-kind keywords (for example INNER <comment> JOIN)
Whether the ON/USING condition was deferred (assigned right-to-left for chained JOINs)
Snowflake: DIRECTED keyword in JOIN (e.g., CROSS DIRECTED JOIN)
Optionaljoin_TSQL join hint: LOOP, HASH, MERGE (e.g., INNER LOOP JOIN)
The join type (INNER, LEFT, RIGHT, FULL, CROSS, etc.).
Optionalmatch_Snowflake ASOF JOIN match condition (MATCH_CONDITION clause)
Nesting group identifier for nested join pretty-printing. Joins in the same group were parsed together; group boundaries come from deferred condition resolution phases.
The ON condition (mutually exclusive with using).
OptionalpivotsPIVOT/UNPIVOT operations that follow this join (Oracle/TSQL syntax)
The right-hand table expression being joined.
Whether INNER keyword was explicitly used (INNER JOIN vs JOIN)
Whether OUTER keyword was explicitly used (LEFT OUTER JOIN vs LEFT JOIN)
The USING column list (mutually exclusive with on).
Represent a JOIN clause between two table sources.
The join condition can be specified via
on(ON predicate) orusing(USING column list), but not both. Thekindfield determines the join type (INNER, LEFT, CROSS, etc.).