HIVE子查询
hive只支持from和where子查询
select e.ename from emp e where e.deptno in
(select e.deptno from dept d where d.dname='SALES' or d.dname='ACCOUNTING');
注意的问题:
1、语法中的括号
2、合理的书写风格
3、主查询和子查询可以不是同一张表
4、子查询的空值问题
select * from emp e where e.empno not in (select e1.mgr from emp e1);
//如果子集合中不含有空值null,则可以使用not in
//如果子集合中含有空值,则不可以使用not in,可以使用in ,如果子集合有空值使用not in则查不出结果
#改进
select * from emp e where e.empno not in (select e1.mgr from emp e1 where e1.mgr is not null);