pub enum JoinKind {
Inner,
Left,
Right,
Full,
Semi,
Anti,
Single,
Positional,
}Expand description
Which join.
Semi and Anti are here because subquery unnesting produces them directly, per section 9.2,
and a semi join expressed as a join plus a distinct is a semi join the executor cannot
recognise.
Variants§
Inner
Rows that match on both sides.
Left
Every left row, padded with nulls where the right does not match.
Right
Every right row, padded with nulls where the left does not match.
Full
Both of the above at once.
Semi
Left rows that have at least one match, each emitted once.
Anti
Left rows that have no match.
Single
Left rows paired with their match, or with nulls, at most one right row each. What a correlated scalar subquery unnests to.
Positional
The nth left row with the nth right row, which is DuckDB’s POSITIONAL JOIN.
Implementations§
Trait Implementations§
impl Copy for JoinKind
impl Eq for JoinKind
impl StructuralPartialEq for JoinKind
Auto Trait Implementations§
impl Freeze for JoinKind
impl RefUnwindSafe for JoinKind
impl Send for JoinKind
impl Sync for JoinKind
impl Unpin for JoinKind
impl UnsafeUnpin for JoinKind
impl UnwindSafe for JoinKind
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more