日期:2014-05-16  浏览次数:21183 次

在oracle中的(+)是什么意思
代码如下:
  SELECT  *
  FROM SFISM4.R_MO_BASE_T R105, SFIS1.C_ROUTE_NAME_T CRN, SFIS1.C_CUSTOMER_T CUS 
  where CRN.ROUTE_CODE(+) = R105.ROUTE_CODE and CUS.CUST_CODE(+) = R105.CUST_CODE 
  and R105.MO_NUMBER = '091012'

请问一下这其中的在字段名后加(+)是什么意思,实际上在ROUTE_NAME_T和C_CUSTOMER_T表中的字段名是没有(+)的,求解释
------解决方案--------------------
left join,right join的简写而已
------解决方案--------------------
SELECT *
  FROM SFISM4.R_MO_BASE_T R105, SFIS1.C_ROUTE_NAME_T CRN, SFIS1.C_CUSTOMER_T CUS  
  where CRN.ROUTE_CODE(+) = R105.ROUTE_CODE and CUS.CUST_CODE(+) = R105.CUST_CODE  
  and R105.MO_NUMBER = '091012'

想知道加号是什么意思,你只要把这条命令中的加号去掉,然后再比较两次返回的结果有何异常,就心里知道了!

没有加号的时候,返回的结果要少一些记录,仔细看看吧~每次运行一下就统计一下记录条数,再仔细找找
------解决方案--------------------
oracle里面的左右连接 看个人习惯了 效果差不多
------解决方案--------------------
left join,right join的简写而已