举例子:
hive> select * from zz0;
111111
222222
888888
hive> select * from zz1;
111111
333333
444444
888888
hive> select * from zz0 join zz1 on zz0.uid = zz1.uid;
111111 111111
888888 888888
hive> select * from zz0 left outer join zz1 on zz0.uid = zz1.uid;
111111 111111
222222 NULL
888888 888888
hive> select * from zz0 right outer join zz1 on zz0.uid = zz1.uid;
NULL
111111 111111
NULL 333333
NULL 444444
888888 888888
hive> select * from zz0 full outer join zz1 on zz0.uid = zz1.uid;
NULL
111111 111111
222222 NULL
NULL 333333
NULL 444444
888888 888888
hive> select * from zz0 left semi join zz1 on zz0.uid = zz1.uid;
111111
888888
所谓的左半连接: 左连接就是展示左边表的东西 半就是展示半拉,就是只展示左表的东西
那么展示左表的那些东西呢? ---> 只展示左表中能根据条件匹配到右表的左表数值,
上面例子中根据 zz0.uid = zz1.uid 那么左表中只有 11111 88888能符合条件在右侧表zz1中找到
因此就只展示左侧表的 11111 88888,
如果在 select 左表字段, 右侧表.字段 left semi join
那么会报错,
这个报错是以前做的案例, Invalid table alias or column reference 'b': (possible column names are: id, name)
就是说只能展示左侧表的字段。
细节见:
HIVE中Join的专题---Join详解 http://www.aboutyun.com/thread-7392-1-1.html
相关推荐
SQL left join用法,初学者应用
NULL 博文链接:https://weigang-gao.iteye.com/blog/2260663
Hive中SQL详解
facebook hive中的各种join策略的slides,reporter是个Chinese。
set hive.map.aggr = true; //是否在 Map 端进行聚合,默认为 True ;该设置会消耗更多的内存。 set hive.groupby.mapaggr.checkinterval = 100000000; //在 Map 端进行聚合操作的条目数目 set hive.groupby....
50.Hive中的数据倾斜及解决方案-三种join方式 51.Hive中的数据倾斜及解决方案-group by 52.Hive中使用正则加载数据 53. Hive中使用Python脚本进行预处理 第5章:Zeus任务资源调度工具 54.资源任务调度框架介绍 55....
HIVE安装及详解,及测试,该文档版本是1.2+的。。。。。
HIVE函数大全,包括目前HIVE可用的所有函数,里面有详细说明。HIVE是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。
Hive: Join Strategies. Facebook summit-2011
hive练习数据和hive练习题包含了hive练习数据,hive数据的建表ddl和hive练习题,非常适合做hive练习,新手培训,快速...LEFT SEMI JOIN Hive当前没有实现 IN/EXISTS 子查询,可以用 LEFT SEMI JOIN 重写子查询语句。
hive sql + left join 数据缺失
Hive on Spark EXPLAIN statement : 讲述了 Common Join / Map join / Bucket Map Join / Sorted Merge Bucket Map Join / skew join 在explain 中的 树结构 。In Hive, command EXPLAIN can be used to show the ...
hive入门级详解,包括数仓与传统数据库的比对,hive的存储结构与存储原理,分区分桶、hql如何转换成mapreduce、UDF自定义函数等
hive参数配置说明大全,详细说个各个参数的作用用法
利用Hive进行复杂用户行为大数据分析及优化案例(全套视频+课件...14_Hive中的数据倾斜及解决方案-三种join方式 15_Hive中的数据倾斜及解决方案-group by 16_Hive中使用正则加载数据 17_Hive中使用Python脚本进行预处理
Hive语法详解: 包括DDL,DML,DQL语法; Hive内置函数及自定义函数; Hive窗口函数及行列转换; hive常见优化
Apache Hive 是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供...
部分普通sql查询在hive中的实现方式详细说明;
8.8 Join中处理null值的语义区别 44 9. 优化与技巧 47 9.1 全排序 47 9.1.1 例1 48 9.1.2 例2 51 9.2 怎样做笛卡尔积 54 9.3 怎样写exist/in子句 54 9.4 怎样决定reducer个数 55 9.5 合并MapReduce操作 55 9.6 ...
8.8 Join中处理null值的语义区别 44 9. 优化与技巧 47 9.1 全排序 47 9.1.1 例1 48 9.1.2 例2 51 9.2 怎样做笛卡尔积 54 9.3 怎样写exist/in子句 54 9.4 怎样决定reducer个数 55 9.5 合并MapReduce操作 55 9.6 ...