Sdílet prostřednictvím


leftouter join

Platí pro: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

Příchuť leftouter spojení vrátí všechny záznamy z tabulky na levé straně a pouze odpovídající záznamy z pravé tabulky.

Diagram znázorňující, jak spojení funguje

Syntaxe

LeftTable | join kind=leftouter [ 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, , localright 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: Všechny záznamy z levé tabulky a pouze odpovídající řádky z pravé tabulky.

Příklad

Výsledek levého vnějšího spojení pro tabulky X a Y vždy obsahuje všechny záznamy levé tabulky (X), i když podmínka spojení nenajde žádný odpovídající záznam v pravé tabulce (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

Výstup

Klíč Hodnota1 Klíč1 Hodnota2
d 0
b 2 b 10
b 3 b 10
c 4 c 20
c 4 c 30