Oracle 11g - 左外连接不会从左表返回所有行(这不是where子句/隐式内连接错误。)

时间:2012-03-02 21:47:09

标签: oracle11g left-join

我在Oracle 11g中运行了以下两个查询,但结果却截然不同:

select count(*) 
from smarthome.objects 
   left outer join smarthome.objectclasses on
      smarthome.objects.objectclass = smarthome.objectclasses.objectclass; 

上面的查询返回638行的计数,这是正确的,也是我希望从下面的查询返回的行数。

select * 
from smarthome.objects
    left outer join smarthome.objectclasses on 
       smarthome.objects.objectclass = smarthome.objectclasses.objectclass; 

第二个查询只返回50行(smarthome.objects中实际匹配两个表之间的objectclass的行数)。我期待第二个查询也返回638行,因为我执行左外连接,应该包括结果中smarthome.objects(左表)中的所有行,而不管第二个表中是否匹配

有谁知道发生了什么或我可能做错了什么?感谢。

0 个答案:

没有答案