2017-07-13 19 views
-1

任何人都可以帮助我使用这个SQL查询,我不知道这个(+)操作符做了什么,但是我在互联网上发现它是oracles outer join的同义词。但我不知道如何实现这与我的查询。请帮我解决一下这个。这个Oracle SQL查询的Hive等价物

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; 

谢谢!

+0

Oracle的外部连接语法不应该使用更多的摆在首位。你也应该改变你的Oracle quey –

回答

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; 

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

+0

我在t2行添加了“left join”位。 – Andrew

+0

谢谢!我想通了,并以相同的方式使用左外连接,并得到它的工作。 – chanK

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

相关问题