时间:2021-07-01 10:21:17 帮助过:16人阅读
这是使用(+)的sql语句(已简写)
select a.id,b.num
from a,b
where a.id=b.id(+) and b.num>10
这是使用left join的sql语句
select a.id,b.num
from a
left join b
on(a.id=b.id and b.num>10)
两个sql的结果不一致,通过查找问题,更改使用+的sql
select a.id,b.num
from a,b
where a.id=b.id(+) and b.num(+)>10
更改后结果一致
oracle使用+简写左关联时,两个表的非关联条件若有(+),则最后的结果行数与主表相同,若两个表的非关联条件没有(+),则这些非关联条件会作用于关联后的结果,对关联后的结果再进行一次条件筛选,最后的结果行数<=主表
oracle使用+简写左关联出现的结果集不一致问题
标签:code 不一致 主表 出现 oracle oracl 作用 通过 问题