Oracle 多表查询出来的总数不一样?

第一种sql关联条件查询出来的总数
图片说明
第二种sql语句不带条件查询出来的条数却多了
图片说明

而这样的sql语句 查询出来的总数与第二种一样
图片说明

首先,你这里是left join 条件加载on后面是过滤单表,最后查出来的结果集还是表1的记录数,条件加在where里是对整个关联出的结果集进行过滤,所以导致记录数可能不一样。

连接语句 ON 后面的两个and不用加括号?

关联查询你要看两个表关系是一对多,还是一对一,还有和你的查询条件有关