vnitřní spojení
Platí pro: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Příchuť inner
spojení je podobná standardnímu vnitřnímu spojení ze světa SQL. Výstupní záznam se vytvoří vždy, když záznam na levé straně má stejný klíč join jako záznam na pravé straně.
Syntaxe
LeftTable |
join
kind=inner
[ Rady ] Podmínky pravé tabulky on
Přečtěte si další informace o konvencích syntaxe.
Parametry
Název | Type | Požadováno | Popis |
---|---|---|---|
Levá tabulka | string |
✔️ | Levá tabulka nebo tabulkový výraz, někdy označovaný jako vnější tabulka, jejíž řádky se mají sloučit. Označeno jako $left . |
Rady | string |
Nápovědy k nulovému nebo více mezerami oddělenému spojení ve formě hodnoty názvu = , která řídí chování operace shody řádků a plánu provádění. Další informace naleznete v tématu Nápovědy. |
|
RightTable | string |
✔️ | Pravá tabulka nebo tabulkový výraz, někdy označovaný jako vnitřní tabulka, jejíž řádky se mají sloučit. Označeno jako $right . |
Podmínky | string |
✔️ | Určuje, jak se řádky z tabulky LeftTable shodují s řádky z tabulky RightTable. Pokud sloupce, které chcete shodovat, mají v obou tabulkách stejný název, použijte syntaxi ON ColumnName. Jinak použijte syntaxi ON $left. LeftColumn $right. == RightColumn RightColumn. Pokud chcete zadat více podmínek, můžete použít klíčové slovo "a" nebo je oddělit čárkami. Pokud použijete čárky, podmínky se vyhodnocují pomocí logického operátoru "a". |
Tip
Nejlepšího výkonu dosáhnete, pokud je jedna tabulka vždy menší než druhá, použijte ji jako levou stranu spojení.
Tipy
Název parametrů | Hodnoty | Popis |
---|---|---|
hint.remote |
auto , left , , local right |
Viz připojení mezi clustery |
hint.strategy=broadcast |
Určuje způsob sdílení zatížení dotazu na uzly clusteru. | Viz připojení k všesměru |
hint.shufflekey=<key> |
Dotaz shufflekey sdílí zatížení dotazu na uzly clusteru pomocí klíče pro dělení dat. |
Zobrazit dotaz náhodného prohazování |
hint.strategy=shuffle |
shuffle Dotaz strategie sdílí zatížení dotazů na uzly clusteru, kde každý uzel zpracovává jeden oddíl dat. |
Zobrazit dotaz náhodného prohazování |
Návraty
Schéma: Všechny sloupce z obou tabulek, včetně odpovídajících klíčů.
Řádky: Pouze odpovídající řádky z obou tabulek.
Příklad
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
Výstup
Klíč | Hodnota1 | Klíč1 | Hodnota2 |
---|---|---|---|
b | 3 | b | 10 |
b | 2 | b | 10 |
c | 4 | c | 20 |
c | 4 | c | 30 |
tis. | 5 | tis. | 50 |
Poznámka:
- (b,10) z pravé strany byl připojen dvakrát: s oběma (b,2) a (b,3) vlevo.
- (c,4) na levé straně byl připojen dvakrát: s oběma (c,20) a (c,30) vpravo.
- (k,5) zleva a (k, 50) zprava byl jednou připojen.
Související obsah
- Další informace o dalších příchutích spojení