也许有人知道Hive左连接问题的答案。
1。假设我有:
table A.c1 table A.c2 table B.c1 table B.c2 table B.c3
2021-05 1701 2021-05 1701 May 5
2021-06 1701 2021-06 1701 June 7
2021-07 1701
2。当我输入像
这样的脚本时select table A.* , table B.c3
from table A left join table B
on table A.c1 = table B.c1 and table A.c2 = table B.c2
3。Hive将返回
table C.c1 table C.c2 table C.c3
2021-05 1701 May 5
2021-06 1701 June 7
4。但我想以某种方式得到这个结果(因为我记得'左连接'在MS SQL中是这样工作的)
table C.c1 table C.c2 table C.c3
2021-05 1701 May 5
2021-06 1701 June 7
2021-07 1701 NULL
我的脚本是正确的还是不那么简单做这样的结果?
尝试使用右连接,因为右表没有满足左表的条件。
select table A.* , table B.c3
from table A right outer join table B
on table A.c1 = table B.c1 and table A.c2 = table B.c2
HiveQL RIGHT OUTER JOIN返回右表中的所有行,即使左表中没有匹配