left semi join 详解
LEFT SEMI JOIN以一种高效的方式实现了不相关的IN/EXISTS子查询语义。 在Hive 0.13中,IN/NOT IN/EXISTS/NOT EXISTS操作符被支持使用子查询,所以大多数join操作不再需要手动执行。 使用LEFT SEMI JOIN的限制是,右边的表只能在连接条件(on子句)中引用,而不能在WHERE或select子句等中引用。
示例
SELECT a.key, a.value
FROM a
WHERE a.key in
(SELECT b.key
FROM B)