连接查询,只支持等值链接
- 内连接
select * from t_a a inner join t_b b on a.id=b.id;
概念:将符合两边连接条件的数据查询出来
- 左连接
select * from t_a a left join t_b b on a.id=b.id;
概念:
1.以左表数据为匹配标准
2.匹配不上的右边表数据显示为null
3.返回的数据条数与左表相同
- 右连接
select * from t_a a right join t_b b on a.id=b.id;
概念:
1.以右表数据为匹配标准
2.匹配不上的左边表数据显示为null
3.返回的数据条数与右表相同
- 左半连接
select * from t_a a right join t_b b on a.id=b.id;
概念:
因为hive不支持in/exists操作(1.2.1版本的hive开始支持in的操作),所以用该操作实现,并且是in/exists的高效实现
- 全连接
select * from t_a a full join t_b b on a.id=b.id;
概念:
全连接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一边表数据显示为null。如果表之间有匹配行,则整个结果集行包含基表的数据值
- in关键字
sele