Hive Join

      最近被朋友问到有关于Hive Join的问题,保守回答过后,来补充补充知识;

      Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。

一、Hive支持哪些连接

来自官网的截图:
$XOJ$}@JSYV4[VYON%_757V

二、Hive五种连接

  1. INNER JOIN:返回两张表中关联条件为"真"的记录;
  2. LEFT JOIN(LEFT OUTER JOIN):返回左表中所有的记录,加上右表中匹配的记录,如果条件不匹配,则返回NULL;
  3. RIGHT JOIN(RIGHT OUTER JOIN):返回右表中的所有记录,加上左表中匹配的记录,如果条件不匹配,则返回NULL;
  4. FULL JOIN(FULL OUTER JOIN):返回与左或右表记录匹配的所有记录;
  5. LEFT SEMI JOIN:仅返回左侧表中的记录。Hive中不支持IN子查询,但可用它代替;
    JOINS

三、演示操作

  1. 员工信息表”dept”;

    [{E3{`~[V0_G5H46Z37%D58

  2. 部门信息表”emp”;
    M692I(U01SW0W(K`JYDPYDV

  3. 显示员工姓名,员工编号,部门;
    select e.ename,e.empno,d.dname
    from emp e inner join dept d on e.deptno = d.deptno;
    T5DC][JS~PQ6N6T26JE~~A6

  4. 统计每个部门的员工数量;

    select d.deptno,count(e.deptno) num
    from emp e right join dept d on e.deptno = d.deptno
    group by d.deptno;
    M~0_DC%6VUAQKT3VL9@HVNK


posted @ 2019-03-31 17:54  Lvan灬  阅读(440)  评论(0编辑  收藏  举报