AQL 하위 조회
참조하거나 기본 조회에서 검색하는 데이터 소스로서 AQL 하위 조회를 사용합니다. FROM 또는 IN절을 사용하여 하위 조회에서 검색하는 데이터를 참조함으로써 AQL 조회를 세분화할 수 있습니다.
하위 조회는 기본 조회에서 참조하는 중첩(nest) 또는 내부 조회입니다. 하위 조회는 다음 형식으로 사용할 수 있습니다.
SELECT<field/s>FROM(<AQL query expression>)이 조회에서는
FROM절을 사용하여 하위 조회의 출력(커서)을 검색합니다.SELECT<field/s>FROMeventsWHERE<field>IN(<AQL query expression>)이 조회에서는
IN절을 사용하여 하위 조회 검색 값과 일치하는 하위 조회 결과를 지정합니다. 이 하위 조회에서는 하나의 컬럼만 리턴합니다. 결과 제한을 지정할 수 있지만 최대값은 10,000개의 결과입니다.
하위 조회 예제
소괄호 내의 중첩(nest) SELECT문이 하위 조회입니다. 하위 조회는 먼저 실행되고 기본 조회에서 사용하는 데이터를 제공합니다. 기본 조회 SELECT문은 하위 조회의 출력(커서)에서 사용자 이름을 검색합니다.
SELECT username FROM
(SELECT * FROM events
WHERE username IS NOT NULL
LAST 60 MINUTES)다음 조회는 Ariel 데이터베이스의 사용자 이름이 하위 조회의 값과 일치하는
레코드를 리턴합니다.
SELECT * FROM events
WHERE username IN
(SELECT username FROM events
LIMIT 10 LAST 5 MINUTES) LAST 24 HOURS다음 조회는 Ariel 데이터베이스의 소스 IP 주소가 하위 조회의 대상 IP 주소와 일치하는 레코드를 리턴합니다.
SELECT * FROM EVENTS
WHERE sourceip IN
(SELECT destinationip FROM events)다음 조회는 Ariel 데이터베이스의 소스 IP 주소가 하위 조회에서 리턴되는
소스 IP 주소와 일치하는 레코드를 리턴합니다. 하위 조회는 위험성이 큰 엔티티와
상호작용한 내부 호스트를 찾아 기본 select문에 대한 데이터를 필터링합니다. 조회는
위험성이 큰 엔티티와 상호작용한 호스트와 통신한 호스트를 리턴합니다.
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