
# SQL JOIN语法
JOIN子句可以关联查询两个或多个表数据，本文介绍JOIN子句的基本使用方法。
#### 语法
```
select key 
from t1
LEFT|RIGHT|INNER JOIN t2
on t1.key=t2.key
```
当前日志服务支持LEFT JOIN、RIGHT JOIN和INNER JOIN三种JOIN子句方式。具体功能如下：
表1 
| JOIN方式     | 说明                                                                                                                                            |
|:---|:---|
| LEFT JOIN  | 以左表（t1）的结果为基础，关联右表（t2）数据。 当表名为纯数字时，需要给表名加上双引号转换成字符串。例如：表名是123，JOIN语句中该表应写成"123"。 |
| RIGHT JOIN | 以右表（t2）的结果为基础，关联左表（t1）数据。                                                                                                                     |
| INNER JOIN | 两个表的结果（elb1，elb2）交集数据                                                                                                                         |
   
#### 示例
有两个表，access表示主机的接入指标包含路径，时延，状态码，host为主机指标包含cpu和内存。通过JOIN可以关联接入和主机指标，查看相同主机的不同维度的指标情况。
- **LEFT JOIN**
  1. 查询语句
     ```
     SELECT
     "access".__time,
     "access".host_ip,
     "access".cost,
     "host".cpu,
     "host".memory
     FROM
     log "access"
     LEFT JOIN (select memory,cpu,host_ip from log) host ON "access".host_ip = "host".host_ip
     ```
     
  
  2. 返回结果，总共60条数据。
   
- **RIGHT JOIN**
  1. 查询语句
     ```
     SELECT
     "access".__time,
     "host".host_ip,
     "access".cost,
     "host".cpu,
     "host".memory
     FROM
     log "access"
     RIGHT  JOIN (select memory,cpu,host_ip from log) host ON "access".host_ip = "host".host_ip
     ```
     
  
  2. 返回结果，总共60条数据。
   
- **INNER JOIN**
  1. 查询语句
     ```
     SELECT
     "access".__time,
     "host".host_ip,
     "access".cost,
     "host".cpu,
     "host".memory
     FROM
     log "access"
     INNER  JOIN (select memory,cpu,host_ip from log) host ON "access".host_ip = "host".host_ip
     ```
     
  
  2. 返回结果，总共45条数据。
   
 
