1.join关联
select T1.*, T2.* from table1 T1 join table2 T2 where 1=1;
Hive的Strict模式下不能用这种语法,因为这样会产生笛卡尔集,而这种模式禁止产生笛卡尔集。需要先用set hive.mapred.mode=nonstrict;
2.笛卡尔积关联(CROSS JOIN)
select * from devin1;
1 zhangsan
2 lisi
3 wangwu
select * from devin2;
1 30
2 29
4 21
SELECT
a.id,a.name,b.age
FROM
devin1 a
CROSS JOIN
devin2 b;
--执行结果:
1 zhangsan 30
1 zhangsan 29
1 zhangsan 21
2 lisi 30
2 lisi 29
2 lisi 21
3 wangwu 30
3 wangwu 29
3 wangwu 21