Clause WHERE

Filtrez vos requêtes AQL à l'aide de clauses WHERE. La clause WHERE décrit les critères de filtrage que vous appliquez à la requête et filtre la vue résultante pour accepter uniquement les événements ou les flux qui répondent à la condition spécifiée.

Vous pouvez appliquer la clause WHERE pour ajouter une condition aux critères de recherche dans les requêtes AQL, qui filtre les résultats de la recherche.

Une condition de recherche est une combinaison d'opérateurs logiques et de comparaison qui, ensemble, font un test. Seules les lignes d'entrée qui réussissent le test sont incluses dans le résultat.

Vous pouvez appliquer les filtres suivants lorsque vous utilisez la clause WHERE dans une requête :
  • signe égal (=)
  • Non égal au symbole (<>)
  • Symbole inférieur à (<)
  • Symbole supérieur à (>)
  • Symbole inférieur ou égal à (<=)
  • Symbole supérieur ou égal à (>=)
  • BETWEEN entre deux valeurs, par exemple, (64 ET 512)
  • LIKE correspondance de casse
  • ILIKE correspondance sans tenir compte de la casse
  • IS NULL est vide
  • AND / OR combine les conditions ou l'une ou l'autre des conditions
  • TEXT SEARCH correspondance de chaîne de texte

Exemples de clauses WHERE

L'exemple de requête suivant présente les événements dont le niveau de gravité est supérieur à neuf et proviennent d'une catégorie spécifique.

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

Modifiez l'ordre d'évaluation en utilisant des parenthèses. Les conditions de recherche entre parenthèses sont évaluées en premier.

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

Renvoie les événements de la base de données des événements où le texte 'typot' est détecté.

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

La requête suivante génère des événements à partir de la base de données d'événements où la santé est incluse dans le nom de la source de journal.

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

La requête suivante génère des événements où l'ID de type d'unité est égal à 11 (Linux Server DSM), et où QID est égal à 44250002, qui est l'identificateur de Cron Status.

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