hive中的LEFT SEMI JOIN

2014年5月20日 | 标签:
热度:

LEFT SEMI JOIN 是 IN/EXISTS 子查询的一种更高效的实现

当前没有实现 IN/EXISTS 子查询,所以你可以用 LEFT SEMI JOIN 重写你的子查询语句。LEFT SEMI JOIN 的限制是, JOIN 子句中右边的表只能在

ON 子句中设置过滤条件,在 WHERE 子句、SELECT 子句或其他地方过滤都不行。

SELECT a.key, a.value

FROM a

WHERE a.key in

(SELECT b.key

FROM B);

可以被重写为:

SELECT a.key, a.val

FROM a LEFT SEMI JOIN b on (a.key = b.key)

feihu分享到:

          

相关博文

» 转载请注明来源:首页-->>hive中的LEFT SEMI JOIN
目前还没有任何评论.
您必须在 登录 后才能发布评论.