leftouter join

조인 맛은 leftouter 왼쪽 테이블의 모든 레코드를 반환하고 오른쪽 테이블의 레코드만 일치합니다.

조인의 작동 방식을 보여 주는 다이어그램

Syntax

LeftTable|joinkind=leftouter [ 힌트 ] RightTableon조건

구문 규칙에 대해 자세히 알아봅니다.

매개 변수

이름 형식 필수 Description
LeftTable string ✔️ 행을 병합할 외부 테이블이라고도 하는 왼쪽 테이블 또는 테이블 형식 식입니다. $left로 표시됩니다.
힌트 string 행 일치 작업 및 실행 계획의 동작을 제어하는 이름= 형식의 공백으로 구분된 조인 힌트가 0개 이상 있습니다. 자세한 내용은 힌트를 참조하세요.
RightTable string ✔️ 행을 병합할 내부 테이블이라고도 하는 올바른 테이블 또는 테이블 형식 식입니다. $right로 표시됩니다.
조건 string ✔️ LeftTable의 행을 RightTable의 행과 일치시킬 방법을 결정합니다. 일치하려는 열의 이름이 두 테이블 모두에 같은 경우 ColumnName 구문을 ON 사용합니다. 그렇지 않으면 LeftColumnRightColumn==$right. 구문을 ON $left. 사용합니다. 여러 조건을 지정하려면 "and" 키워드(keyword) 사용하거나 쉼표로 구분할 수 있습니다. 쉼표로 사용하는 경우 조건은 "and" 논리 연산자를 사용하여 평가됩니다.

최상의 성능을 위해 한 테이블이 항상 다른 테이블보다 작은 경우 조인의 왼쪽으로 사용합니다.

힌트

매개 변수 이름 설명
hint.remote auto, left, local, right 클러스터 간 조인 참조
hint.strategy=broadcast 클러스터 노드에서 쿼리 로드를 공유하는 방법을 지정합니다. 브로드캐스트 조인 참조
hint.shufflekey=<key> 쿼리는 shufflekey 키를 사용하여 데이터를 분할하는 클러스터 노드의 쿼리 로드를 공유합니다. 순서 섞기 쿼리 참조
hint.strategy=shuffle 전략 쿼리는 shuffle 각 노드가 데이터의 한 파티션을 처리하는 클러스터 노드의 쿼리 로드를 공유합니다. 순서 섞기 쿼리 참조

반환

스키마: 일치하는 키를 포함하여 두 테이블의 모든 열입니다.
: 왼쪽 테이블의 모든 레코드와 오른쪽 테이블의 일치하는 행만 기록합니다.

예제

테이블 X 및 Y에 대한 왼쪽 외부 조인의 결과는 조인 조건이 오른쪽 테이블(Y)에서 일치하는 레코드를 찾지 못하더라도 항상 왼쪽 테이블(X)의 모든 레코드를 포함합니다.

let X = datatable(Key:string, Value1:long)
[
    'a',1,
    'b',2,
    'b',3,
    'c',4
];
let Y = datatable(Key:string, Value2:long)
[
    'b',10,
    'c',20,
    'c',30,
    'd',40
];
X | join kind=leftouter Y on Key

출력

값1 키1 값2
a 1
b 2 b 10
b 3 b 10
c 4 c 20
c 4 c 30