SQL/MySQL使用过程中的踩坑合集

left join

key在右表中重复导致结果集重复

样例参见: SQL Fiddle
所以left join之前, 一定要确认右表的key是否会重复.
尤其是在写HIVE这种比较重量级的SQL之前, 一定要注意, 否则会导致报表制作出来数据重复, 影响数据质量.

on中写了左表的

left join 为了保证左表所有行, 因此on里的条件只对右表起作用, 控制左表的条件写到on里也没用

样例参见: SQL Fiddle
所以left join的时候, 一定要保证筛选左表的条件要放到where里, 而不要放到on里.