本篇文章主要研究下Hive里面的Join操作,Hive关联可以细分为四种,如下所示:
内关联:join on
左关联:left join on
右关联:right join on
全关联:full join on
1.内关联(join on)
语法:select * from table1 join table2 on table1.id = table2.id;
作用:将表1和表2中ID相同的内容关联输出到一张表中
2.左关联(left join on)
语法:select * from table1 left join table2 on table1.id = table2.id;
作用:以左边表(table1)为基表,将table2内容关联到table1中(即保留左边表table1原有字段值,不符合on条件的,右边表对应值为NULL)
3.右关联(right join on)
语法:select * from table1 right join table2 on table1.id = table2.id;
作用:以右边表(table2为基表,将table1内容关联到table2中(即保留右边表table2原有字段值,不符合on条件的,左边表对应的字段值为NULL))
4.全关联(full join on)
语法:select * from table1 full join table2 on table1.id = table2.id;
作用:两边表保留所有字段进行关联,不符合on条件的字段用NULL表示。