走近大数据之Hive进阶(四、Hive的表连接)

HIVE表连接(转换成mapreduce作业,提交到hadoop上)

一、Hive等值连接和不等值连接

等值连接(连接条件中为等号):

select e.empno, e.ename, e.sal, d.dname //选择要查询的字段

from emp e, dept d //选择表,并取别名

where e.deptno=d.deptno; //条件是表e的deptno等于表d的deptno

 

不等值连接(条件中是不等号:>, <, !=):

between and //含有边界,并且小值在前,大值在后

select e.empno, e.ename, e.sal, s.grade //选择要查询的字段

from emp e, salgrade s //选择表,并取别名

where e.sal between 2000 and 8000; //条件是表e的sal大于等于2000小于等于8000

 

二、Hive外连接

外连接: (在select语句中,所有没有包含在聚合函数中的列,都必须要出现在grouop by 子句的后面)

外连接(左外连接,右外连接)

左外连接(当我们的连接条件不成立时,连接条件的左边的表依然可以包含在结果中)

右外连接(当我们的连接条件不成立时,连接条件的右边的表依然可以包含在结果中)

 

右外连接

select d.deptno, d.dname, count(e.empno)

from emp e

right outer jion dept d on (e.deptno=d.deptno)

group by d.deptno, d.dname;

 

三、Hive的表连接

自连接(自己和自己连接)

(自连接的核心:通过表的别名将一张表视为多张表)

select e.ename, b.ename

from emp e, emp b

where e.mgr=b.empno;//mgr是员工上级领导的编号,empno是员工的编号(都是公司员工)

你可能感兴趣的:(大数据,-,Hive,走近大数据之Hive入门与进阶)