select *
from ddb.ddab,ddb.ddyb 
where  ddab.colname=ddyb.tcolumn 
(ddab,ddyb这是两个表)
该语句在ORACLE中的结果为110条记录,而在SQLSERVER中的记录为130条,请问在这条语句在ORACLE中是什么形式联接(左右??)而在SQLSERVER怎么写这条语句与在ORACLE中返回的记录一致???

解决方案 »

  1.   

    在Oracle和Sql中,得出结果肯定是一样的。
      

  2.   

    oracle:  =      内连接           sql server: inner       join
            (+)=    右连接                       right outer join
            =(+)    左连接                       left  outer join
     
    你的问题的结果在Oracle和Sql中是一样的
      

  3.   

    考虑空格或者 null 数据类型之类的东西
      

  4.   

    看看是不是字段类型为varchar或者char时,oracle和sqlserver表现出不同的行为。
    如在oracle当中,a char(5), b char(5)
    如果a = 'abc  '   b = 'abc' 它视为a=b
    不知道sqlserver中是不是这样。
    另外,当出现null值的情形,有可能这两种数据库会表现出不同的行为。
      

  5.   

    应该是语句有问题
    应当加上left outer join  onh或right outer join on
      

  6.   

    应该是大小写的问题sql server大小有时不区分(需要配置一下)