leftouter join
聯 leftouter
結類別會傳回左側數據表中的所有記錄,而且只會傳回右側數據表中的所有記錄。
Syntax
LeftTable|
join
kind=leftouter
[ 提示 ] RightTableon
條件
深入瞭解 語法慣例。
參數
名稱 | 類型 | 必要 | Description |
---|---|---|---|
LeftTable | string |
✔️ | 左數據表或表格式表示式,有時稱為外部數據表,其數據列要合併。 表示方法為 $left 。 |
提示 | string |
以名稱= 值的形式分隔零個或多個空格分隔聯結提示,可控制數據列比對作業和執行計劃的行為。 如需詳細資訊,請參閱 提示。 |
|
RightTable | string |
✔️ | 右數據表或表格式表示式,有時稱為內部數據表,其數據列要合併。 表示方法為 $right 。 |
條件 | string |
✔️ | 決定 LeftTable 中的數據列如何與 RightTable 中的數據列相符。 如果您想要比對的數據行在這兩個數據表中具有相同的名稱,請使用 ColumnName 語法ON 。 否則,請使用 LeftColumn== $right. RightColumn 語法ON $left. 。 若要指定多個條件,您可以使用 「and」 關鍵詞,或使用逗號分隔它們。 如果您使用逗號,則會使用 「and」 邏輯運算符來評估條件。 |
提示
為了獲得最佳效能,如果一個數據表一律小於另一個數據表,請使用它作為聯結的左側。
提示
參數名稱 | 值 | 說明 |
---|---|---|
hint.remote |
auto , left , local , right |
請參閱跨叢集聯結 |
hint.strategy=broadcast |
指定在叢集節點上共用查詢負載的方式。 | 請參閱廣播聯結 |
hint.shufflekey=<key> |
此 shufflekey 查詢會使用索引鍵來分割資料,以共用叢集節點上的查詢負載。 |
請參閱隨機查詢 |
hint.strategy=shuffle |
策略 shuffle 查詢會共用叢集節點上的查詢負載,其中每個節點會處理數據的一個分割區。 |
請參閱隨機查詢 |
傳回
架構:這兩個數據表中的所有數據行,包括相符的索引鍵。
數據列:來自左數據表的所有記錄,以及只比對來自右數據表的數據列。
範例
數據表 X 和 Y 的左外部聯結結果一律包含左數據表的所有記錄 (X) ,即使聯結條件在右數據表中找不到任何相符的記錄, (Y) 。
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
輸出
答案 | Value1 | Key1 | Value2 |
---|---|---|---|
a | 1 | ||
b | 2 | b | 10 |
b | 3 | b | 10 |
c | 4 | c | 20 |
c | 4 | c | 30 |
相關內容
- 瞭解其他 聯結類別
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應