oracle多表查询,如果某个表没有数据,查询不到结果,该怎么解决呀?

连接语句如下:
from user a,assinfo b,payable c,gov d
where a.accountno = b.account_no
and b.cert_no = c.addresscode
and d.warmyear = c.warmyear
and b.cert_no = 'XXXXXXXXX'

遇到的问题是:如果d表没有满足条件的记录,会导致整个查询没有结果。

请问各位应该怎么解决?

from user a,assinfo b,payable c,gov d
where a.accountno = b.account_no
and b.cert_no = c.addresscode
and d.warmyear(+) = c.warmyear
and b.cert_no = 'XXXXXXXXX'
如果D表没数据的话就关联一下,哪些表没数据,就在where从句加 (+)关联即可

那就不能把d表进行关联

使用左 右连接查询 或者 and ( d.warmyer is null or d.warmyear = c.warmyear )这样试试