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子句方式。具体功能如下:
JOIN方式 |
说明 |
---|---|
LEFT JOIN |
以左表(t1)的结果为基础,关联右表(t2)数据。
说明:
当表名为纯数字时,需要给表名加上双引号转换成字符串。例如:表名是123,JOIN语句中该表应写成“123”。 |
RIGHT JOIN |
以右表(t2)的结果为基础,关联左表(t1)数据。
说明:
当表名为纯数字时,需要给表名加上双引号转换成字符串。例如:表名是123,JOIN语句中该表应写成“123”。 |
INNER JOIN |
两个表的结果(elb1,elb2)交集数据 |
示例
- LEFT JOIN
- 查询语句
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
- 返回结果,总共60条数据。
- 查询语句
- RIGHT JOIN
- 查询语句
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
- 返回结果,总共60条数据。
- 查询语句
- INNER JOIN
- 查询语句
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
- 返回结果,总共45条数据。
- 查询语句