hive里的LEFT SEMI JOIN是什么JOIN?

  算法/数据结构/数据库 Hive    浏览次数:2351        分享
0

从没有听说过semi join

 

古力夬   2019-10-15 12:03



   1个回答 
3

用法如下

SELECT * FROM tab1 LEFT SEMI JOIN tab2 ON (tab1.id = tab2.id);

left semi join和left outer join相似,也和inner join有点相似。但left semi join只返回tab1中的列,不是完整的join,所以是semi join

和left outer join相似:因为left semi join只返回左表里的

和inner join相似:因为left semi join不返回右边里没有的

比如tab1,tab2是

它们inner join的结果是

它们left join的结果是

它们left semi join的结果是

因为表tab1中只有一个id=2,尽管tab2中有多个id=2,我们也只匹配一个,最后返回的时候只得到tab1中的列


SofaSofa数据科学社区DS面试题库 DS面经

sasa   2019-10-18 06:16



  相关讨论

怎么用pyspark取出hive表里的json串中某一个key的值?

hive和spark sql的区别是什么?

pyspark里怎么求百分位数?

Python Packaging 的最佳实践?

大数据建模、分析、挖掘技术应用研修班的通知

python查找一个字符串里字符'f'最后一次出现,并替换为'fly'?

python中如何合并两个dict

python的set进行append操作?

python中怎么获取cpu的个数?

python中怎么对一组逻辑变量求“或”?

  随便看看

'str' object has no attribute 'decode' 代码运行时有错误呢?请高手帮忙解决

cvr和ctr的区别是什么?

pandas同时返回一个dataframe的前几行(head)和后几行(tail)

pandas.DataFrame里的loc和iloc什么区别?

怎么直观理解ROC AUC的概率统计意义?