tencent cloud

日志服务

动态与公告
产品动态
公告
新手指引
产品简介
产品概述
产品优势
地域和访问域名
规格与限制
基本概念
购买指南
计费概述
产品定价
按量计费(后付费)
欠费说明
清理日志服务资源
成本优化
常见问题
快速入门
一分钟入门指南
入门指南
使用 Demo 日志快速体验 CLS
操作指南
资源管理
权限管理
日志采集
指标采集
日志存储
指标存储
检索分析(日志主题)
检索分析(指标主题)
仪表盘
数据处理
投递与消费
监控告警
云产品中心
DataSight 独立控制台
历史文档
实践教程
日志采集
检索分析
仪表盘
监控告警
投递和消费
成本优化
开发者指南
通过 iframe 内嵌 CLS(旧方案)
通过 Grafana 使用 CLS
API 文档
History
Introduction
API Category
Making API Requests
Topic Management APIs
Log Set Management APIs
Index APIs
Topic Partition APIs
Machine Group APIs
Collection Configuration APIs
Log APIs
Metric APIs
Alarm Policy APIs
Data Processing APIs
Kafka Protocol Consumption APIs
CKafka Shipping Task APIs
Kafka Data Subscription APIs
COS Shipping Task APIs
SCF Delivery Task APIs
Scheduled SQL Analysis APIs
COS Data Import Task APIs
Data Types
Error Codes
常见问题
健康监测问题解释
采集相关
检索分析相关
其他问题
服务等级协议
CLS 政策
隐私协议
数据处理和安全协议
联系我们
词汇表

JOIN 语法

PDF
聚焦模式
字号
最后更新时间: 2026-01-07 15:32:34
JOIN 语法用于连接多个表,支持如下使用方式:
同日志主题内多个查询结果进行连接。
连接对象存储中的 CSV 文件、MySQL 数据库,详情请参见 关联外部数据
连接多个日志主题,详情请参见 跨主题关联分析

语法格式

* | SELECT [列名(KEY)] FROM table1 JOIN_TYPE table2 ON table1.key=table2.key
其中:
列名(KEY)在多个表名中相同时,必须指定表名或表的别名。
JOIN_TYPE 支持如下类型([ ]内容可省略):
[ INNER ] JOIN:返回两个表同时存在的结果。
LEFT [ OUTER ] JOIN:即使右表(table2)中没有匹配的数据,也从左表(table1)返回所有 SELECT 结果。
RIGHT [ OUTER ] JOIN:即使左表(table1)中没有匹配的数据,也从右表(table2)返回所有 SELECT 结果。
FULL [ OUTER ] JOIN:只要一个表中存在匹配的数据,则返回满足条件的所有 SELECT 结果。
CROSS JOIN:无需指定 JOIN_CONDITION(即ON table1.key=table2.key) ,返回两个表的笛卡尔积(所有可能的组合)。
JOIN_CONDITION,即ON table1.key=table2.key。也可同时指定过滤条件,例如 ON (table1.key=table2.key and table2.key='xxx'),将会先按照指定条件过滤原始表中的数据,再进行连接查询。

语法示例

LEFT JOIN:从日志数据(log)中查询 ip、url、user_id,并根据 user_id 在 userinfo 表中查询 Name、Gender。
* |
select
log.ip,
log.url,
log.user_id,
userinfo.Name,
userinfo.Gender
from
log
left join userinfo on log.user_id = userinfo.id
limit
10000
返回结果:

INNER JOIN:从当前一个日志主题内,分别统计各个 URL 的错误日志条数 errorCount 和总日志条数 allCount,然后关联在一起。该实例同时演示了嵌套子查询与 JOIN 语法一起使用的方式。
* |
select
errorCount,
allCount,
table1.url as url
from
(
select
count(*) as errorCount,
url
where
status_code != 200
group by
url
) as table1
inner join (
select
count(*) as allCount,
url
group by
url
) as table2 on table1.url = table2.url
返回结果:





帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈