内部結合
結合フレーバー inner
は、SQL の世界からの標準的な内部結合に似ています。 左側のレコードの結合キーが右側のレコードと同じである場合、出力レコードが常に生成されます。
構文
LeftTable|
join
kind=inner
[ ヒント ] RightTableon
条件
構文規則について詳しく知る。
パラメーター
名前 | 型 | 必須 | 説明 |
---|---|---|---|
LeftTable | string |
✔️ | 行をマージする左側のテーブルまたは表形式の式。外部テーブルとも呼ばれます。 $left と示されます。 |
[ヒント] | string |
行の照合操作と実行プランの動作を制御する、スペースで区切られた "名前 = 値" の形式の 0 個以上の結合のヒント。 詳細については、「ヒント」を参照してください。 |
|
RightTable | string |
✔️ | 行をマージする右側のテーブルまたは表形式の式。内部テーブルとも呼ばれます。 $right と示されます。 |
条件 | string |
✔️ | LeftTable の行を RightTable の行と照合する方法を指定します。 照合する列の名前が両方のテーブルで同じである場合は、ON ColumnName 構文を使用します。 それ以外の場合は、ON $left. LeftColumn== $right. RightColumn 構文を使用します。 複数の条件を指定するには、"and" キーワードを使用するか、コンマで区切ります。 コンマを使用する場合、条件は "and" 論理演算子を使用して評価されます。 |
ヒント
パフォーマンスを最高にするには、一方のテーブルが他より常に小さい場合は、それを結合の左側として使用します。
[ヒント]
パラメーター名 | 値 | 説明 |
---|---|---|
hint.remote |
auto , left , local , right |
「クラスター間の結合」を参照してください |
hint.strategy=broadcast |
クラスター ノードでクエリ負荷を共有する方法を指定します。 | ブロードキャスト結合を参照してください。 |
hint.shufflekey=<key> |
shufflekey クエリは、データをパーティション化するキーで、クラスター ノードのクエリ負荷を共有します。 |
クエリ*のシャッフルを参照 |
hint.strategy=shuffle |
shuffle 戦略クエリは、クラスター ノードのクエリ負荷を共有します。各ノードで 1つずつ、データのパーティション化を処理します。 |
クエリ*のシャッフルを参照 |
戻り値
スキーマ: 一致するキーを含む、両方のテーブルのすべての列。
行: 両方のテーブルの一致する行のみ。
例
let X = datatable(Key:string, Value1:long)
[
'a',1,
'b',2,
'b',3,
'k',5,
'c',4
];
let Y = datatable(Key:string, Value2:long)
[
'b',10,
'c',20,
'c',30,
'd',40,
'k',50
];
X | join kind=inner Y on Key
出力
Key | Value1 | Key1 | Value2 |
---|---|---|---|
b | 3 | b | 10 |
b | 2 | b | 10 |
c | 4 | c | 20 |
c | 4 | c | 30 |
k | 5 | k | 50 |
Note
- 右側の (b, 10) は、左側の (b, 2) および (b, 3) の両方と、2 回結合されました。
- 左側の (c,4) は、右側の (c,20) および (c,30) の両方と、2 回結合されました。
- 左側の (k,5) と右側の (k, 50) は 1 回結合されました。
関連コンテンツ
- その他の結合フレーバーについて学習する
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示