在看别人写的SQL里面有些关于左连接的问题有点不明白,
有的连接时不需要串标进行的 比如  tableX.field1='CONSTANTS',这么一句SQL,我却看到了tableX.field1='CONSTANTS'(+)这么一种写法(当然这条完整的SQL是串了很多张表),试问这个地方需要用左连接吗?
是不是加上左连接之后可以防止当tableX.field1为空的时候出不了数据的问题
各位指教了

解决方案 »

  1.   


    恩,是的。但是不是为了防止tableX.field1为空时候出数据,而是为了在tableX.field1='CONSTANTS'不成立为false的情况下依然可以查询到数据。
      

  2.   

    tableX.field1='CONSTANTS'(+)这个写法应该是错误的
    外连接对对多表关联字段而言,不能对定值
    楼主要是想把tableX.field1为空的也显示出来,大可以改成
    tableX.field1='CONSTANTS' or tableX.field1 is null
      

  3.   


     我只是对tableX.field1='CONSTANTS'(+)不理解,为什么要使用“(+)”进行左连接操作呢?
      

  4.   

    不用(+)就成了内部连接了。
    (+)保证了tableX数据全部输出。