HiveSQL与oracle SQL的区别
1、hive sql暂时不能使用in,不支持where字句中的子查询。可以利用leftsemi join来实现in。
Hive:
Select * from employee e left semi joindept d on (e.deptno=d.deptno)
小表放在join左边。
Left semi join是in/exist在hive中的一种更为高效的实现。
Oracle:
Select * from employee e where e.deptno in (selectd.deptno from dept d))
2、hive sql同样不支持not in。可以利用leftouter join来实现。
Hive:
<