すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:JOIN句

最終更新日:Aug 26, 2024

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

構文

SELECT table.key
FROM table1
INNER|LEFT|RIGHT|FULL OUTER JOIN table2
ON table1.key=table2.key

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

JOIN構文

説明

INNER JOIN

2つのテーブルから、SELECTステートメントで指定された条件を満たすデータの一致する行のみを返します。

LEFT JOIN

右のテーブル (table2) に一致する行が存在しない場合でも、左のテーブル (table1) からSELECT文で指定された条件を満たすデータのすべての行を返します。

RIGHT JOIN

左側のテーブル (table1) に一致する行が存在しない場合でも、右側のテーブル (table2) からSELECTステートメントで指定された条件を満たすデータのすべての行を返します。

FULL JOIN

テーブルに一致する行が含まれている場合、SELECTステートメントで指定された条件を満たすデータの行を返します。

パラメーター

パラメーター

説明

キー

ログフィールドまたは式。 このパラメーターの値は、任意のデータ型にすることができます。

テーブル

table1はLogstoreです。 table2には、Logstore、MySQLデータベース、またはOSSバケットを指定できます。 詳細については、「Simple Log ServiceとMySQLデータベースの関連付け」および「Simple Log ServiceとOSSバケットの関連付け」をご参照ください。

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

例1: INNER JOIN

  • クエリ文

    * |
    SELECT
      "internal-diagnostic_log".consumer_group,
      "internal-diagnostic_log".logstore,
      "internal-operation_log".Latency,
      "internal-operation_log".Method
    FROM  "internal-diagnostic_log"
      INNER JOIN "internal-operation_log" ON "internal-diagnostic_log".logstore = "internal-operation_log".logstore
    LIMIT
      10000
  • クエリおよび分析の結果

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

    inner join

例2: LEFT JOIN

  • クエリ文

    * |
    SELECT
      "internal-diagnostic_log".consumer_group,
      "internal-diagnostic_log".logstore,
      "internal-operation_log".Latency,
      "internal-operation_log".Method
    FROM  "internal-diagnostic_log"
      LEFT JOIN "internal-operation_log" ON "internal-diagnostic_log".logstore = "internal-operation_log".logstore
    LIMIT
      10000
  • クエリおよび分析の結果

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

    LEFT JOIN

例3: RIGHT JOIN

  • クエリ文

    * |
    SELECT
      "internal-diagnostic_log".consumer_group,
      "internal-diagnostic_log".logstore,
      "internal-operation_log".Latency,
      "internal-operation_log".Method
    FROM  "internal-diagnostic_log"
      RIGHT JOIN "internal-operation_log" ON "internal-diagnostic_log".logstore = "internal-operation_log".logstore
    LIMIT
      10000
  • クエリおよび分析の結果

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

    RIGHT JOIN

例4: FULL JOIN

  • クエリ文

    * |
    SELECT
      "internal-diagnostic_log".consumer_group,
      "internal-diagnostic_log".logstore,
      "internal-operation_log".Latency,
      "internal-operation_log".Method
    FROM  "internal-diagnostic_log"
      FULL OUTER JOIN "internal-operation_log" ON "internal-diagnostic_log".logstore = "internal-operation_log".logstore
    LIMIT
      10000
  • クエリおよび分析の結果

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

    FULL OUTER JOIN