1 left semi join的时间比in的时间短,比in高效
2 left semi join时select中不能出现右表的字段,不然报错
3 left semi join 时on中出现左表字段的条件 ,正确;on中出现右表字段的条件 ,正确;[左右表的关联字段必须在on中;右表卡的某个字段必须在on中;左表卡的某个字段可以在on中,也可以在where中]
4 left semi join 时where中出现左表字段,正确;where中出现右表字段,报错
5 Hive 2.0.0-SNAPSHOT版本支持select in 子表的查询
综上:
left semi join时,select 和 where中不能出现右表字段,不然报错,右表字段的条件可以写在on中,同时左表字段在select、on、where中均能出现!!
[类似于select...from a in (select ... from b where... ),b的条件当然要写在子表里,并且select中只能写左表的字段]
------