NQL文法の概要
テーブルの指定
すべてのNQLクエリは、データを選択するテーブルを指定する簡潔なステートメントから始まります。 テーブルを指定する構文は次のとおりです:
<namespace>.<table>
例えば、execution名前空間のeventsテーブル内のすべてのレコードをリストするには、次のステートメントになります:
execution.events構文ショートカット
名前空間とテーブルを入力する代わりに、定義済みのショートカットを使用することもできます。 最初に名前空間を入力せずに、テーブル名のみを入力して以下のテーブルからデータを取得します:
application
[アプリケーション]
applications
バイナリー
バイナリ
バイナリ
キャンペーン
キャンペーン
キャンペーン
device
デバイス
デバイス
ユーザー
ユーザー
ユーザー
例えば、device.devicesの代わりにdevicesと入力して、device名前空間のdevicesテーブル内のすべてのレコードをリストできます。
デバイステーブルからデータをクエリする際に、結果に含めるテーブルフィールドを指定する必要はありません。 システムは、レコードを識別するうえで最も関連性のあるデフォルトフィールドを含めます。 特定のテーブルに含まれるフィールドに関する詳細については、NQLデータモデルページを参照してください。 特定のテーブル内の他のフィールドにアクセスするにはNQLリストキーワードを使用します。
時間枠の指定
NQLステートメントのテーブル名のすぐ後に時間枠を選択することで、特定の期間にわたって結果をフィルタリングできます。 必要に応じて、さまざまなデータ選択形式と時間精度から選択できます。 例えば、以下のように過去数日を指定できます:
または特定の日付:
また、次のインベントリオブジェクトをクエリするときに時間選択を使用することもできます: devices, users, binaries。 インベントリオブジェクトの時間枠を指定すると、システムはオブジェクトの活動の背後にあるイベントを参照します。
例えば、次のクエリは同じデータセットを参照します。
時間選択形式に関する詳細については、NQL時間選択を参照してください。
クエリ結果のカスタマイズ
テーブルと時間枠を指定した後、キーワード、演算子、関数を使用してシステムに追加の指示を提供することで、クエリをさらに改善できます。 これらの改善により、結果を整理、フィルタリング、または集約して、より包括的な洞察を得ることができます。
たとえば:
where句を使用して結果をフィルタリングlist句を使用して表示する特定のデータを選択ソート...
desc句を使用して結果を順序付けlimit句を使用して最大結果数を設定
特定の指示については、NQLキーワードセクションを参照してください。
パターンマッチング
テキストフィルタに*や?のようなワイルドカード文字を使用します。
* 任意の文字列を置き換えます
? 任意の1文字を置き換えます
例えば、名前がdllで始まり、.exeで終わるすべてのバイナリをリストするクエリは次のようになります:
コメント
NQLクエリでコメントを使用して、実行中に無視される説明メモを含めます。 コメントはクエリの意図を明確にし、読みやすく、保守しやすく、理解しやすくします。
コメントを始めるには/*で始め、終わるには*/を使用します。 これらのシンボル間のすべてのテキストは、実行中に無視されます。
コメント用のキーボードショートカット
NQLクエリでコメントを追加または削除するための以下のキーボードショートカットを使用してください。
行ベースのコメント
現在の行または選択された複数行にコメントをトグルします。
以下のショートカットは、カーソルが置かれている行全体をコメントブロックで囲むか、または削除します。 複数行が選択されている場合、フル行を1つのコメントブロックで囲みます。 Windows: Ctrl + /を押します
macOS:
Cmd + /を押しますインラインまたはブロックコメント
選択したコードにコメントをトグルします。
以下のショートカットは、選択が途中で始まったり終了したりしても、ハイライトされたコード部分をコメントブロックで囲むか、削除します。
Windows: Shift + Alt + Aを押します macOS: Shift + Option + Aを押します
macOS:
Shift + Option + Aを押す
有効なコメントの配置
ただし、コメントが許可されていない特定のケースがあります。
このような場合には、NQLエディターがエラーを表示します。 無効なコメント配置の具体例は次の表に示されています。
無効なコメント配置の説明 例: 無効なコメント配置
|とステートメントキーワードの間
devices | /* comment */ where name == "test"
式の内部
演算子とオペランドの間
関数呼び出しの内部
関数呼び出しの内部に
Last updated
Was this helpful?