AND a.shipment_gid = e.shipment_gid(+)
and a.source_location_gid = e.event_location_gid(+)
AND a.shipment_gid = F.shipment_gid(+)
and a.source_location_gid = F.event_location_gid(+)
AND a.shipment_gid = g.shipment_gid(+)后面的(+)是什么意思

解决方案 »

  1.   

    (+)
     好像是left不就是right join,是以前老的写法
      

  2.   

    以a表为左表和其他表做leift join
      

  3.   

    举个例子
    a表                  b表id name            id   score 
    1   jim             1     90
    2   xiaoming用带加号连接,查出来的是
    id name       score
    1   jim         90
    2   xiaoming
      

  4.   

    举个例子
    a表 
    id name
    1 jim 
    2 xiaoming
    b表
     id score  
      1   90用带加号连接,查出来的是
    id name    score
    1  jim      90
    2 xiaoming
      

  5.   

    --左连接  相反则右连接AND a.shipment_gid = e.shipment_gid(+)
    and a.source_location_gid = e.event_location_gid(+)
    AND a.shipment_gid = F.shipment_gid(+)
    and a.source_location_gid = F.event_location_gid(+)
    AND a.shipment_gid = g.shipment_gid(+)--等同于
    left a join e on a.shipment_gid = e.shipment_gid 
    and a.source_location_gid = e.event_location_gid
    left a join f on a.shipment_gid = F.shipment_gid 
    and a.source_location_gid = F.event_location_gid
    left a join g  on a.shipment_gid = g.shipment_gid