leftsemi join

Die Verknüpfungsvariante leftsemi gibt alle Datensätze von der linken Seite zurück, die mit einem Datensatz von der rechten Seite übereinstimmen. Es werden nur Spalten von der linken Seite zurückgegeben.

Diagramm, das zeigt, wie die Verknüpfung funktioniert.

Syntax

LeftTable|joinkind=leftsemi [ Hinweise ] RightTableonBedingungen

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Typ Erforderlich BESCHREIBUNG
LeftTable string ✔️ Die linke Tabelle oder der tabellarischen Ausdruck, die bzw. der manchmal als äußere Tabelle bezeichnet wird, deren Zeilen zusammengeführt werden sollen. Wird als $left bezeichnet.
Hinweise string Null oder mehr durch Leerzeichen getrennte Join-Hinweise in Form von Name=Wert, die das Verhalten des Vorgangs zum Zuordnen der Zeilen und den Ausführungsplan steuern. Weitere Informationen finden Sie unter Hinweise.
RightTable string ✔️ Die rechte Tabelle oder der tabellarische Ausdruck, die bzw. der manchmal als innere Tabelle bezeichnet werden, deren Zeilen zusammengeführt werden sollen. Wird als $right bezeichnet.
Conditions (MSBuild-Bedingungen) string ✔️ Bestimmt, wie Zeilen aus LeftTable mit Zeilen aus RightTable abgeglichen werden. Wenn die Spalten, die Sie abgleichen möchten, in beiden Tabellen denselben Namen haben, verwenden Sie die Syntax ONColumnName. Verwenden Sie andernfalls die Syntax ON $left.LeftColumn==$right.RightColumn. Um mehrere Bedingungen anzugeben, können Sie entweder das Schlüsselwort „and“ verwenden oder sie durch Kommas trennen. Wenn Sie Kommas verwenden, werden die Bedingungen mit dem logischen Operator „and“ ausgewertet.

Tipp

Wenn eine Tabelle immer kleiner als die andere ist, verwenden Sie diese für die bestmögliche Leistung als die linke Seite des Join.

Hinweise

Parametername Werte Beschreibung
hint.remote auto, left, local, right Siehe clusterübergreifender Join
hint.strategy=broadcast Gibt die Art und Weise an, in der die Abfragelast auf Clusterknoten verteilt wird. Siehe Broadcast-Join
hint.shufflekey=<key> Die shufflekey-Abfrage teilt die Abfragelast auf Clusterknoten auf, wobei ein Schlüssel zum Partitionieren der Daten verwendet wird. Weitere Informationen finden Sie unter Shuffleabfrage
hint.strategy=shuffle Die shuffle-Strategieabfrage teilt die Abfragelast auf Clusterknoten auf, wobei jeder Knoten eine Partition der Daten verarbeitet. Weitere Informationen finden Sie unter Shuffleabfrage

Gibt zurück

Schema: Alle Spalten aus der linken Tabelle.
Zeilen: Alle Datensätze aus der linken Tabelle, die mit Datensätzen aus der rechten Tabelle übereinstimmen.

Beispiel

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=leftsemi Y on Key

Ausgabe

Schlüssel Wert1
b 2
b 3
c 4