此Oracle SQL查询的Hive等效项

时间:2017-07-13 16:31:33

标签: sql oracle hive

任何人都可以帮我解决这个SQL查询,我不知道,这个(+)运算符是做什么的,但我在互联网上发现它是oracles外连接的同义词。但我无法弄清楚如何用我的查询实现这一点。请帮帮我。

Select t1.a1,t1.a2,t1.a3
From t1,t2,t3
where t1.a1 =t3.c1(+)
AND t2.b1(+) = t1.a1
AND t2.b2(+) =1;

谢谢!

2 个答案:

答案 0 :(得分:0)

使用外连接:

Select t1.a1, t1.a2, t1.a3
From t1 left join
     t3
     on t1.a1 = t3.c1 left join
     t2
     on t2.b1 = t1.a1 and t2.b2 = 1;

这是在任何数据库中编写查询的正确方法。 (+)语法已过时。

答案 1 :(得分:0)

select t1.a1, t1.a2,t1.a3 
from t1 left join t3 on t1.a1 = t3.c1
left join t2 
on t2.b1 = t1.a1
and t2.b2 = 1 

(+)符号是外部联接的特定于Oracle的表示法。我相信它不再使用了很多......

more info