全部產品
Search
文件中心

Simple Log Service:JOIN子句

更新時間:Jun 30, 2024

JOIN子句用於串連多個表。Log Service支援同Project下跨Logstore、Logstore和MySQL、Logstore和OSS的聯集查詢。本文介紹JOIN子句的基本文法和樣本。

文法

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

Log Service支援您在SELECT語句中使用INNER JOIN子句、LEFT JOIN子句、RIGHT JOIN子句和FULL JOIN子句。更多資訊,請參見JOIN

JOIN方式

說明

INNER JOIN

所有表存在交集時,返回滿足條件的SELECT結果。

LEFT JOIN

即使右表(table2)中沒有匹配的資料,也從左表(table1)返回所有SELECT結果。

RIGHT JOIN

即使左表(table1)中沒有匹配的資料,也從右表(table2)返回所有SELECT結果。

FULL JOIN

只要一個表中存在匹配的資料,則返回滿足條件的SELECT結果。

參數說明

參數

說明

key

日誌欄位、運算式等,參數值為任意資料類型。

table

table1為Logstore,table2為Logstore、MySQL資料庫或OSS Bucket。更多資訊,請參見關聯MySQL資料來源關聯OSS資料來源

樣本

在某個Project下,名為internal-diagnostic_log的Logstore用於記錄各個Logstore的消費延時、警示、採集等日誌,名為internal-operation_log的Logstore用於記錄Project內所有資源的動作記錄。您可以使用JOIN子句,聯集查詢兩個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
  • 查詢和分析結果

    返回滿足條件的1328條資料。

    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中返回1328條資料。

    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中返回1757條資料。

    RIGHT JOIN

樣本4:FULL OUTER 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
  • 查詢和分析結果

    返回滿足條件的1757條資料。

    FULL OUTER JOIN