where a.1 = b.1(+) 这里的 '(+)'是什么意思呢?用与不用,会影响 'where a.1 = b.1'的效果吗?

解决方案 »

  1. 带加号的表示连接 相当于left join on 并不是等值连接
    放在左边和放在右边正好相反
    具体的你可以百度
      


  2. where a.1 = b.1(+)
    --等价于
    a left join b on a.1=b.1
      

  3. 有(+)表示B.1的值如果找不到与a.1的值相等,则a.1显示,对应b.1列则以空显示,
      

  4. 相当于left join on ,主表显示全部,副表对应主表显示,为关联到的为空。
      

  5. where a.1 = b.1(+)(+)表示左链接提取所有a表的数据
      

  6. 左连接啊!一般建议是在from那里用from a left join b on a.1=b.1,说这样效率更好!!至于为什么,我也不清楚。呵呵
      

  7. 因为 排除了其中的 null值的运算。
      

类似问题 »