Udostępnij za pośrednictwem


sprzężenie wewnętrzne

Dotyczy: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

Sprzężenie inner jest podobne do standardowego sprzężenia wewnętrznego ze świata SQL. Rekord wyjściowy jest generowany za każdym razem, gdy rekord po lewej stronie ma ten sam klucz sprzężenia co rekord po prawej stronie.

Diagram przedstawiający sposób działania sprzężenia.

Składnia

LeftTable [ Hints ] RightTable on | join kind=inner Conditions

Dowiedz się więcej na temat konwencji składni.

Parametry

Nazwisko Type Wymagania opis
LeftTable string ✔️ Lewa tabela lub wyrażenie tabelaryczne, czasami nazywane tabelą zewnętrzną, której wiersze mają zostać scalone. Oznaczono jako $left.
Wskazówki string Zero lub więcej wskazówek sprzężenia rozdzielanych spacjami w postaci wartości nazwy = , które kontrolują zachowanie operacji dopasowania wiersza i planu wykonania. Aby uzyskać więcej informacji, zobacz Wskazówki.
RightTable string ✔️ Prawa tabelaryczna lub tabelaryczna wyrażenie, czasami nazywane tabelą wewnętrzną, której wiersze mają zostać scalone. Oznaczono jako $right.
Warunki string ✔️ Określa, jak wiersze z tabeli LeftTable są dopasowywane do wierszy z tabeli RightTable. Jeśli kolumny, które chcesz dopasować, mają taką samą nazwę w obu tabelach, użyj składni ON ColumnName. W przeciwnym razie użyj składni ON $left.LeftColumn RightColumn==$right.. Aby określić wiele warunków, możesz użyć słowa kluczowego "and" lub oddzielić je przecinkami. Jeśli używasz przecinków, warunki są oceniane przy użyciu operatora logicznego "i".

Napiwek

Aby uzyskać najlepszą wydajność, jeśli jedna tabela jest zawsze mniejsza niż druga, użyj jej jako lewej strony sprzężenia.

Wskazówki

Nazwa parametrów Wartości opis
hint.remote auto, , left, , localright Zobacz Łączenie między klastrami
hint.strategy=broadcast Określa sposób udostępniania obciążenia zapytania w węzłach klastra. Zobacz sprzężenia emisji
hint.shufflekey=<key> Zapytanie shufflekey współudzieli obciążenie zapytania w węzłach klastra przy użyciu klucza do partycjonowania danych. Zobacz zapytanie mieszania
hint.strategy=shuffle shuffle Zapytanie strategii współudzieli obciążenie zapytania w węzłach klastra, gdzie każdy węzeł przetwarza jedną partycję danych. Zobacz zapytanie mieszania

Zwraca

Schemat: wszystkie kolumny z obu tabel, w tym pasujące klucze.
Wiersze: tylko pasujące wiersze z obu tabel.

Przykład

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

Wyjście

Klucz Wartość1 Klucz1 Wartość2
b 3 b 10
b 2 b 10
c 100 c 20
c 100 c 30
tys. 5 tys. 50

Uwaga

  • (b,10) z prawej strony został dwukrotnie przyłączony: z obu (b,2) i (b,3) po lewej stronie.
  • (c,4) po lewej stronie został dwukrotnie przyłączony: z obu (c,20) i (c,30) po prawej stronie.
  • (k,5) od lewej i (k, 50) z prawej strony zostało przyłączone raz.