小编dgi*_*s82的帖子

如何将隐式连接重写为显式连接?

我在使用显式连接重写这​​些JOINS时遇到了一些麻烦.我试图了解这是如何实现的.这是我继承的使用隐式连接的原始查询:

FROM prod.f31122 t,
       prod.f4801   wo,
       prod.f30008  r,
       prod.f0101   ab
WHERE t.wtdoco = wo.wadoco(+)
   and t.wtmmcu = wo.wammcu(+)
   and t.wtmmcu = r.iwmcu
   and t.wtan8 = ab.aban8
Run Code Online (Sandbox Code Playgroud)

我尝试了以下内容,但是我得到了不同的结果集.相同的计数,但结果集不正确(可能是我的分组没有显示的问题).这是我使用显式连接的翻译:

FROM prod.f31122 t      
JOIN prod.f4801 wo ON t.wtdoco = wo.wadoco
JOIN prod.f4801 wo ON wo.wammcu = t.wtmmcu 
JOIN prod.f30008 r ON t.wtmmcu = r.iwmcu 
JOIN prod.f0101 ab ON t.wtan8 = ab.aban8 
Run Code Online (Sandbox Code Playgroud)

我只想确保从隐式连接到显式连接的转换在逻辑上是正确的(对于我的教育和理解).为了记录,我可以保留隐式连接,但我只是想更好地理解这个过程.

sql oracle

3
推荐指数
1
解决办法
101
查看次数

标签 统计

oracle ×1

sql ×1