HIVE表连接(转换成mapreduce作业,提交到hadoop上)
一、Hive等值连接和不等值连接
等值连接(连接条件中为等号):
select e.empno, e.ename,e.sal,d.dnamefrom emp e,dept dwhere e.deptno=d.deptno;
等值连接(条件中是不等号:>,
between and //含有边界,并且小值在前,大值在后 select e.empno,e.ename,e.sal,s.gradefrom emp e,salgrade swhere e.sal between 2000 and 8000;
二、Hive外连接
外连接: (在select语句中,所有没有包含在聚合函数中的列,都必须要出现在grouop by 子句的后面)
外连接(左外连接,右外连接)
左外连接(当我们的连接条件不成立时,连接条件的左边的表依然可以包含在结果中)
右外连接(当我们的连接条件不成立时,连接条件的右边的表依然可以包含在结果中)
//右外接 select d.deptno,d.dname,count(e.empno)from emp eright outer jion dept d on (e.deptno=d.deptno)group by d.deptno, d.dname;
三、Hive的表连接
自连接(自己和自己连接)
(自连接的核心:通过表的别名将一张表视为多张表)
select e.ename,b.enamefrom emp e,emp bwhere e.mgr=b.empno;//mgr是员工上级领导的编号,empno是员工的编号(都是公司员工)