但是可以进行多表关联查询(值关联)。只要这两个值相等就可以作为关联条件,其实在mysql中也是支持。
CREATE TABLE t_user(id int,name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY'\t';
CREATE TABLE t_order(id int,name string,u_id int) ROW FORMAT DELIMITED FIELDSTERMINATED BY '\t';
select *from t_user join t_order on t_user.id=t_order.u_id
left outerjoin是来自于oracle数据库的语法(左表就没有关联右表数据也会进行显示,只是右表的字段全是null)
select *from t_user left outer join t_order on t_user.id=t_order.u_id
select *from t_user right outer join t_order on t_user.id=t_order.u_id
已经有一张人口信息表,需要查询出四川、重庆、广州三个省份的人员信息
select *from t_user where 省份=四川 or 省份=重庆 or 省份=广州
select *from t_user where 省份 in (四川,重庆,广州)
hive中没有in的语法。但是有一个left semi join【半连接】
select *from t_user left semi join t_order on t_user.id=t_order.u_id
from后面的表为显示表,left semi join后面的表为条件表,只会显示显示表中的内容
select *from t_user where id in (select u_id from t_order);
select *from a1 left outer join b1 on a1.id=b1.a_id left outer join c on c1.id=b.c_id
我会持续在科多大数据学习,也会持续将学到的东西分享给各位,全是干货哟