SQL文でJOIN句を指定して、テーブルで共有されるフィールドに基づいて複数のテーブルを結合できます。 Log Serviceでは、さまざまなLogstoreに保存されているデータを結合できます。 Logstoreに保存されているデータを、MySQLデータベースに保存されているデータまたはObject Storage Service (OSS) バケットに保存されているデータと結合することもできます。 このトピックでは、JOIN句の構文について説明し、JOIN句の使用方法の例を示します。

構文

SELECT table.key
table1から
INNER | 左 | 右 | FULL OUTER JOIN table2
ON table1.key=table2.key

Log Serviceでは、SELECTステートメントでINNER JOIN句、LEFT JOIN句、RIGHT JOIN句、およびOUTER JOIN句を使用できます。 詳細については、「JOIN」をご参照ください。

JOIN構文説明
INNER JOIN2つのテーブル間のSELECTステートメントで指定された条件を満たす一致する行のみを返します。
LEFT JOIN右側のテーブル (table2) に一致する行が存在しない場合でも、左側のテーブル (table1) からSELECT文で指定された条件を満たすすべての行を返します。
RIGHT JOIN左側のテーブル (table1) に一致する行が存在しない場合でも、右側のテーブル (table2) からSELECT文で指定された条件を満たすすべての行を返します。
FULL OUTER JOINテーブルに一致する行が含まれている場合、SELECTステートメントで指定された条件を満たす行を返します。

パラメーター

項目説明
キーログフィールドまたは式。 このことができるパラメータのThe値の任意のデータ型。
テーブルtable1はLogstoreで、table2はLogstore、MySQLデータベース、またはOSSバケットです。 詳細については、「 外部 MySQL ストレージ 」および「 Log ServiceをOSSバケットに関連付ける」をご参照ください。

internal-diagnostic_logという名前のLogstoreは、プロジェクト内の各Logstoreの消費遅延、アラート、ログ収集などの情報を含むログを記録するために使用されます。 internal-operation_logという名前のLogstoreは、プロジェクト内のすべてのリソースの操作ログを記録するために使用されます。 JOIN句を使用して、2つのLogstoreからログデータを照会し、プロジェクト内の各Logstoreのコンシューマグループ、消費遅延、およびリクエストメソッドに関する情報を取得できます。

例1: INNER JOIN

  • クエリ文
    * |
    選択
      "internal-diagnostic_log".consumer_group、
      "internal-diagnostic_log".logstore、
      "internal-operation_log" レイテンシ、
      "internal-operation_log" 。Method
    「internal-diagnostic_log」から
      INNER JOIN "internal-operation_log" ON "internal-diagnostic_log".logstore = "internal-operation_log".logstore
    リミット
      10000
  • クエリと分析結果

    この例では、指定された条件を満たす1,328行のデータが返されます。

    インナー結合

例2: LEFT JOIN

  • クエリ文
    * |
    選択
      "internal-diagnostic_log".consumer_group、
      "internal-diagnostic_log".logstore、
      "internal-operation_log" レイテンシ、
      "internal-operation_log" メソッド
    「internal-diagnostic_log」から
      「internal-diagnostic_log」で「internal-operation_log」に参加する。logstore = "internal-operation_log".logstore
    リミット
      10000
  • クエリと分析結果

    この例では、internal-diagnostic_log Logstoreの1,328行のデータが返されます。

    LEFT JOIN

例3: RIGHT JOIN

  • クエリ文
    * |
    選択
      "internal-diagnostic_log".consumer_group、
      "internal-diagnostic_log".logstore、
      "internal-operation_log" レイテンシ、
      "internal-operation_log" メソッド
    「internal-diagnostic_log」から
      「internal-diagnostic_log」に「internal-operation_log」に参加します。logstore = "internal-operation_log".logstore
    リミット
      10000
  • クエリと分析結果

    この例では、internal-operation_log Logstoreの1,757行のデータが返されます。

    RIGHT JOIN

例4: FULL OUTER JOIN

  • クエリ文
    * |
    選択
      "internal-diagnostic_log".consumer_group、
      "internal-diagnostic_log".logstore、
      "internal-operation_log" レイテンシ、
      "internal-operation_log" メソッド
    「internal-diagnostic_log」から
      FULL OUTER JOIN "internal-operation_log" ON "internal-diagnostic_log".logstore = "internal-operation_log".logstore
    リミット
      10000
  • クエリと分析結果

    この例では、指定された条件を満たす1,757行のデータが返されます。

    FULL OUTER JOIN