JOIN子句

更新时间:2024-01-16 06:04:16

JOIN子句用于连接多个表。日志服务支持同Project下跨Logstore、LogstoreMySQL、LogstoreOSS的联合查询。本文介绍JOIN子句的基本语法和示例。

语法

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

日志服务支持您在SELECT语句中使用INNER JOIN子句、LEFT JOIN子句、RIGHT JOIN子句和FULL JOIN子句。更多信息,请参见JOIN

JOIN方式

说明

JOIN方式

说明

INNER JOIN

所有表存在交集时,返回满足条件的SELECT结果。

LEFT JOIN

即使右表(table2)中没有匹配的数据,也从左表(table1)返回所有SELECT结果。

RIGHT JOIN

即使左表(table1)中没有匹配的数据,也从右表(table2)返回所有SELECT结果。

FULL JOIN

只要一个表中存在匹配的数据,则返回满足条件的SELECT结果。

参数说明

参数

说明

参数

说明

key

日志字段、表达式等,参数值为任意数据类型。

table

table1Logstore,table2Logstore、MySQL数据库或OSS Bucket。更多信息,请参见关联MySQL数据源关联OSS数据源

示例

在某个Project下,名为internal-diagnostic_logLogstore用于记录各个Logstore的消费延时、告警、采集等日志,名为internal-operation_logLogstore用于记录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_logLogstore中返回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_logLogstore中返回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

  • 本页导读 (1)
  • 语法
  • 参数说明
  • 示例
  • 示例1:INNER JOIN
  • 示例2:LEFT JOIN
  • 示例3:RIGHT JOIN
  • 示例4:FULL OUTER JOIN

点击开启售前

在线咨询服务