Sous-requête AQL

Utilisez une sous-requête AQL comme source de données référencée ou recherchée par la requête principale. Utilisez la clause FROM ou IN pour affiner votre requête AQL en faisant référence aux données qui sont extraites par la sous-requête.

Une sous-requête est une requête imbriquée ou interne qui est référencée par la requête principale. La sous-requête est disponible dans les formats suivants :

  • SELECT <field/s> FROM (<expression de requête AQL>)

    Cette requête utilise la clause FROM pour rechercher la sortie (curseur) de la sous-requête.

  • SELECT <field/s> FROM events WHERE <field> IN (<expression de requête AQL>)

    Cette requête utilise la clause IN pour indiquer les résultats de sous-requête qui correspondent aux valeurs de la recherche de sous-requête. Cette sous-requête renvoie uniquement une seule colonne. Vous pouvez spécifier la limite de résultats, mais le maximum est de 10 000 résultats.

Exemples de sous-requête

L'instruction SELECT imbriquée est entre parenthèses dans la sous-requête. La sous-requête est exécutée en premier et elle fournit les données qui sont utilisées par la requête principale. L'instruction SELECT de la requête principale extrait les noms d'utilisateur de la sortie (curseur) de la sous-requête.

SELECT username FROM  
(SELECT * FROM events 
WHERE username IS NOT NULL 
LAST 60 MINUTES)

La requête suivante renvoie des enregistrements dans lesquels le nom d'utilisateur de la base de données Ariel correspond aux valeurs de la sous-requête.
SELECT * FROM events 
WHERE username IN 
(SELECT username FROM events 
LIMIT 10 LAST 5 MINUTES) LAST 24 HOURS

La requête suivante renvoie des enregistrements dans lesquels l'adresse IP source de la base de données Ariel correspond à l'adresse IP de destination de la sous-requête.
SELECT * FROM EVENTS 
WHERE sourceip IN 
(SELECT destinationip FROM events)

La requête suivante renvoie des enregistrements dans lesquels l'adresse IP source de la base de données Ariel correspond aux adresses IP source qui sont renvoyées dans la sous-requête. La sous-requête filtre les données pour l'instruction select principale en localisant les hôtes internes qui ont interagi avec des entités à risque élevé. La requête renvoie les hôtes qui ont communiqué avec des entité à risque élevé.
SELECT sourceip AS 'Risky Hosts' FROM events 
WHERE destinationip IN (SELECT sourceip FROM events 
WHERE eventdirection = 'L2R'
AND REFERENCESETCONTAINS('CriticalWatchList', destinationip) 
GROUP BY sourceip) 
GROUP BY sourceip last 24 hours