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>FROMEreignisseWHERE<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)SELECT * FROM events
WHERE username IN
(SELECT username FROM events
LIMIT 10 LAST 5 MINUTES) LAST 24 HOURSSELECT * FROM EVENTS
WHERE sourceip IN
(SELECT destinationip FROM events)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