赞
踩
目录
1)用法上的区别:
2)hive的SQL特点:
一般使用left join , right join , inner join替代
其结果是false,我们可以使用left join进行筛选。
(官网表示,hive2.2版本之后支持不等值关联语句)
关联时ON里面的条件如果含有不等值,那么在hive中不能直接使用,如果将不等式放在where条件中,
会出问题,直接将不等值放在where条件中会过滤掉主表的部分数据。
解决方案:先通过inner join加上非等值条件,再left join.
错误示例:
- select t.id , t.date , t1.date
- from t
- left join t1
- on t1.id = t.id
- and t.date > t1.date
正确写法: 不等值的连接我们先用inner join, 然后等值的我们使用left join即可。
- select t.id, t.date, t2.date
- from t
- left join
- (select t.id,t1.date
- from t
- inner join t1 on t1.id = t.id
- where t.date>t1.date) t2
- on t.id =
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。