WHERE 節

WHERE 節を使用して、AQL 照会をフィルターに掛けます。 WHERE 節は、照会に適用するフィルター条件を記述し、指定した条件を満たすイベントまたはフローのみを受け入れるように結果のビューをフィルターに掛けます。

WHERE 節を適用して、AQL 照会の検索条件に、検索結果をフィルターに掛ける条件を追加できます。

検索条件とは、検証を構成する論理演算子と比較演算子の組み合わせです。 テストに合格した入力行のみが結果に含められます。

照会で WHERE 節を使用するときに適用できるフィルターは、次のとおりです。
  • 等号 (=)
  • 不等記号 (<>)
  • より小さい記号 (<)
  • より大きい記号 (>)
  • 以下記号 (<=)
  • 以上記号 (>=)
  • BETWEEN: 2 つの値の間。例: (64 AND 512)
  • LIKE: 大/小文字を区別する突き合わせ
  • ILIKE: 大/小文字を区別しない突き合わせ
  • IS NULL が空である
  • AND / OR: 条件の結合、またはいずれかの条件
  • TEXT SEARCH: テキスト・ストリングの突き合わせ

WHERE 節の例

次の照会例では、重大度レベルが 9 より大きい特定のカテゴリーのイベントが表示されます。

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

括弧を使用することで、評価の順序を変更します。 括弧で囲んだ検索条件が最初に評価されます。

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

events データベースから、テキスト「typot」が見つかったイベントを返します。

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

次の照会では、events データベースから、ログ・ソース名に health が含まれているイベントが出力されます。

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

次の照会では、デバイス・タイプ ID が 11 (Linux Server DSM) と等しく、QID が 44250002 (Cron 状況の ID) と等しいイベントが出力されます。

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