| 常用类型 | INNER / LEFT / RIGHT / FULL / CROSS / ASOF(按最近时间匹配) |
|---|---|
| ANY 语义 | LEFT ANY JOIN 对右表多匹配只取一行,避免结果行数膨胀 |
| 分布式 | GLOBAL JOIN 先把右表汇总再分发,普通 JOIN 在每个分片本地执行 |
示例
示例
SELECT e.ts, e.user_id, u.name
FROM events AS e
LEFT JOIN users AS u ON e.user_id = u.id
WHERE e.ts >= today();
-- 按时间就近匹配(如取插入时刻前最后一次配置)
SELECT e.ts, e.id, c.cfg_version
FROM events AS e
ASOF LEFT JOIN configs AS c
ON e.id = c.id AND e.ts >= c.ts;多表 JOIN 时把行数少的表按顺序放右侧;复杂查询可先用子查询把两表缩小到必要范围。