AQL-Unterabfrage

Verwenden Sie eine AQL-Unterabfrage als eine Datenquelle, auf die sich die Hauptabfrage bezieht oder die von der Hauptabfrage durchsucht wird. Grenzen Sie mithilfe der FROM- oder IN-Klausel die AQL-Abfrage ein, indem Sie auf die Daten Bezug nehmen, die von der Unterabfrage abgerufen werden.

Eine Unterabfrage ist eine verschachtelte oder innere Abfrage, die von der Hauptabfrage referenziert wird. Die Unterabfrage ist in folgenden Formaten verfügbar:

  • SELECT <Feld/e> FROM (<AQL-Abfrageausdruck>)

    Diese Abfrage durchsucht mithilfe der FROM-Klausel die Ausgabe (Cursor) der Unterabfrage.

  • SELECT <Feld/e> FROM Ereignisse WHERE <Feld> IN (<AQL-Abfrageausdruck>)

    Diese Abfrage enthält in der IN-Klausel die Unterabfrageergebnisse, die mit Werten aus der Unterabfragesuche übereinstimmen. Diese Unterabfrage gibt nur eine einzige Spalte zurück. Sie können den Grenzwert für Ergebnisse angeben, das Maximum beträgt jedoch 10.000 Ergebnisse.

Beispiele für Unterabfrage

Die verschachtelte SELECT-Anweisung in Klammern ist die Unterabfrage. Die Unterabfrage wird zuerst ausgeführt und stellt die Daten bereit, die von der Hauptabfrage verwendet werden. Die Hauptabfrage ruft mit der SELECT-Anweisung die Benutzernamen aus der Ausgabe (Cursor) der Unterabfrage ab.

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

Die folgende Abfrage gibt Datensätze zurück, bei denen der Benutzername aus der Ariel-Datenbank mit Werten in der Unterabfrage übereinstimmt.
SELECT * FROM events 
WHERE username IN 
(SELECT username FROM events 
LIMIT 10 LAST 5 MINUTES) LAST 24 HOURS

Die folgende Abfrage gibt Datensätze zurück, bei denen die IP-Quellenadresse aus der Ariel-Datenbank mit der IP-Zieladresse in der Unterabfrage übereinstimmt.
SELECT * FROM EVENTS 
WHERE sourceip IN 
(SELECT destinationip FROM events)

Die folgende Abfrage gibt Datensätze zurück, bei denen die IP-Quellenadresse aus der Ariel-Datenbank mit den IP-Quellenadressen, die in der Unterabfrage zurückgegeben werden, übereinstimmt. Die Unterabfrage filtert die Daten für die Hauptabfrageanweisung, indem sie interne Hosts, die mit Hochrisikoentitäten interagiert haben, lokalisiert. Die Abfrage gibt Hosts zurück, die mit Hosts kommuniziert haben, die mit Hochrisikoentitäten interagiert haben.
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