where-Operator

Filtert eine Tabelle auf die Teilmenge der Zeilen, die ein Prädikat erfüllen.

Die where Operatoren und filter sind gleichwertig.

Syntax

T| wherePrädikat

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Typ Erforderlich Beschreibung
T string ✔️ Tabellarische Eingabe, deren Datensätze gefiltert werden sollen.
Predicate string ✔️ Ausdruck, der in einem Bool für jede Zeile in T ausgewertet wird.

Gibt zurück

Zeilen in T, für die Predicate auf true festgelegt ist.

Hinweis

Alle Filterfunktionen geben false im Vergleich zu NULL-Werten zurück. Verwenden Sie spezielle Null-fähige Funktionen, um Abfragen zu schreiben, die NULL-Werte behandeln.

Leistungstipps

  • Verwenden Sie einfache Vergleiche zwischen dem Spaltennamen und Konstanten. („Konstant“ bedeutet konstant innerhalb der Tabelle, d. h. now() und ago() sind ebenso zulässig wie Skalarwerte, die mithilfe einer let-Anweisung zugewiesen werden.)

    Beispielsweise wird where Timestamp >= ago(1d) gegenüber where bin(Timestamp, 1d) == ago(1d) bevorzugt.

  • Einfachste Begriffe zuerst: Wenn Sie mehrere mit and verbundene Klauseln haben, stellen Sie die Klauseln, die nur eine Spalte umfassen, an den Anfang. Timestamp > ago(1d) and OpId == EventId ist also besser als anders herum.

Weitere Informationen finden Sie in der Zusammenfassung der verfügbaren Zeichenfolgenoperatoren und in der Zusammenfassung der verfügbaren numerischen Operatoren.

Beispiele

Auftragsvergleiche nach Komplexität

Die folgende Abfrage gibt Stormdatensätze zurück, die beschädigte Eigenschaften melden, Überschwemmungen sind und an verschiedenen Stellen starten und enden.

Beachten Sie, dass wir den Vergleich zwischen zwei Spalten zuletzt festlegen, da der Where-Operator den Index nicht verwenden kann und eine Überprüfung erzwingt.

StormEvents
| project DamageProperty, EventType, BeginLocation, EndLocation
| where DamageProperty > 0
    and EventType == "Flood"
    and BeginLocation != EndLocation 

In der folgenden Tabelle sind nur die 10 besten Ergebnisse aufgeführt. Führen Sie die Abfrage aus, um die vollständige Ausgabe anzuzeigen.

DamageProperty EventType BeginLocation EndLocation
5.000 Hochwasser FAYETTE CITY LOWBER
5.000 Hochwasser MORRISVILLE WEST WAYNESBURG
10000 Hochwasser COPELAND HARRIS GROVE
5.000 Hochwasser GLENFORD MT PERRY
25000 Hochwasser EAST SENECA BUFFALO AIRPARK ARPT
20000 Hochwasser EBENEZER SLOAN
10000 Hochwasser BUEL CALHOUN
10000 Hochwasser GOODHOPE WEST MILFORD
5.000 Hochwasser DUNKIRK FOREST
20000 Hochwasser FARMINGTON MANNINGTON

Überprüfen, ob die Spalte Zeichenfolge enthält

Die folgende Abfrage gibt die Zeilen zurück, in denen das Wort "Cow" in jeder Spalte angezeigt wird.

StormEvents
| where * has "cow"