Where Clause

Filtern Sie Ihre AQL-Abfragen mithilfe von WHERE -Klauseln. Die Klausel WHERE beschreibt die Filterkriterien, die Sie auf die Abfrage anwenden, und filtert die resultierende Ansicht, sodass nur die Ereignisse oder Datenflüsse akzeptiert werden, die die angegebene Bedingung erfüllen.

Sie können die Klausel WHERE anwenden, um Suchkriterien in AQL-Abfragen eine Bedingung hinzuzufügen, die die Suchergebnisse filtert.

Eine Suchbedingung ist eine Kombination aus logischen Operatoren und Vergleichsoperatoren, die zusammen einen Test durchführen. Nur die Eingabezeilen, die den Test bestehen, werden in das Ergebnis eingeschlossen.

Sie können die folgenden Filter anwenden, wenn Sie die Klausel WHERE in einer Abfrage verwenden:
  • Gleichheitszeichen (=)
  • Ungleich Symbol (<>)
  • Kleiner-als-Zeichen (<)
  • Größer-als-Zeichen (>)
  • Kleiner oder gleich dem Symbol (<=)
  • Größer-gleich dem Symbol (>=)
  • BETWEEN zwischen zwei Werten, z. B. 64 AND 512
  • LIKE -Abgleich mit Beachtung der Groß-/Kleinschreibung
  • ILIKE -Abgleich ohne Beachtung der Groß-/Kleinschreibung
  • IS NULL ist leer
  • AND / OR Bedingungen kombinieren oder eine der beiden Bedingungen
  • Übereinstimmung mit TEXT SEARCH -Textzeichenfolge

Beispiele für WHERE-Klauseln

Das folgende Abfragebeispiel zeigt Ereignisse mit einer Bewertungsstufe größer als neun und einer bestimmten Kategorie.

SELECT sourceIP, category, credibility 
FROM events 
WHERE
severity > 9 
AND 
category = 5013

Ändern Sie die Reihenfolge der Auswertung mit runden Klammern. Die in runde Klammern eingeschlossenen Suchbedingungen werden zuerst ausgewertet.

SELECT sourceIP, category, credibility 
FROM events 
WHERE
(severity > 9 AND category = 5013) 
OR 
(severity < 5 AND credibility > 8)

Gibt Ereignisse aus der Ereignisdatenbank zurück, in der der Text 'typot' gefunden wird

SELECT QIDNAME(qid) 
AS EventName, 
* FROM events 
WHERE 
TEXT SEARCH 'typot'

Die folgende Abfrage gibt Ereignisse aus der Ereignisdatenbank aus, deren Status im Protokollquellennamen enthalten ist.

SELECT logsourceid, LOGSOURCEGROUPNAME(logsourceid), LOGSOURCENAME(logsourceid) 
FROM events 
WHERE LOGSOURCENAME(logsourceid) 
ILIKE '%%health%%'

Die folgende Abfrage gibt Ereignisse aus, bei denen die Gerätetyp-ID gleich 11 ist (Linux Server DSM) und die QID gleich 44250002 ist. Dies ist die Kennung für den Cronstatus.

SELECT * FROM events 
WHERE deviceType= '11' 
AND qid= '44250002'