表关联时关联条件一定要在子查询里过滤掉 null 值,避免数据倾斜; 举一个sql例子给我
时间: 2024-03-06 21:47:47 浏览: 66
mysql实现多表关联统计(子查询统计)示例
好的,以下是一个 SQL 示例:
```
SELECT *
FROM table1
LEFT JOIN (
SELECT column1, COUNT(*) AS cnt
FROM table2
WHERE column2 IS NOT NULL
GROUP BY column1
) AS subquery
ON table1.column1 = subquery.column1;
```
在这个 SQL 示例中,我们进行了表的关联,并使用了一个子查询来计算每个 `column1` 值在 `table2` 表中出现的次数。需要注意的是,我们在子查询中使用了过滤条件 `WHERE column2 IS NOT NULL`,以避免数据倾斜。如果没有这个过滤条件,`table2` 表中的空值将会被计算在内,导致结果不准确。
阅读全文