pub enum JoinKind {
Inner,
Left,
Cross,
Right,
FullOuter,
Semi,
}Variants§
Inner
Left
Cross
Right
v7.37.16 — RIGHT [OUTER] JOIN: keep every right (peer) row,
NULL-filling the left (drive) columns on unmatched right rows.
The executor runs the LEFT algorithm’s mirror: it tracks which
peer rows matched and emits the unmatched ones with a NULL-left
tuple after the probe loop. Output column order is unchanged
(left-table cols then right-table cols).
FullOuter
v7.37.16 — FULL [OUTER] JOIN: keep every row from both sides
(LEFT-unmatched → NULL right, RIGHT-unmatched → NULL left).
Semi
v7.39 (round 725) — SEMI join: each drive row is kept AT MOST once, paired with the first peer row that satisfies the ON. Not reachable from SQL — the EXISTS pull-up emits it, which is what frees positive EXISTS from the round-721 uniqueness gate (an INNER join would multiply the outer rows; a semi join cannot).