| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 983 人关注过本帖
标题:请高人指点一下这两段sql的差别
只看楼主 加入收藏
sfcntop
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-9-5
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
请高人指点一下这两段sql的差别

select t.GLJG_DM, NVL(NSR.GLJG_DM, 0)
    from DB_DJGL.T_DJ_JGNSR NSR, db_rdgl.t_rd_szjdxx t
 where t.swglm = nsr.swglm(+)            
     and t.GLJG_DM = NSR.GLJG_DM(+)
     and nsr.swglm = 320800100005549;
查询结果:当GLJG_DM 无共同值时,无结果显示,
     
select t.GLJG_DM, NVL(NSR.GLJG_DM, 0)
    from DB_DJGL.T_DJ_JGNSR NSR, db_rdgl.t_rd_szjdxx t
 where t.swglm = nsr.swglm(+)            
     and t.GLJG_DM = NSR.GLJG_DM(+)
     and t.swglm = 320800100005549;   
查询结果:当GLJG_DM无共同值时,显示t 表中的GLJG_DM。
有点迷糊,求达人解答一下,如果该问题太幼稚,喷我,我加强学习。
2013-09-05 11:29
周永
Rank: 2
等 级:论坛游民
帖 子:11
专家分:40
注 册:2013-7-22
收藏
得分:20 
使用外连接(+),资料会以主表的准,关联的表没有找不到共同值,则以 NULL 形式体现。
两段语法上 ,主表是 T, 如果两个表没有共同值,查询结果中,T表栏位有值, NSR 表的栏位全部是 NULL, 加上 and nsr.swglm = 320800100005549; 当然就不会有结果了。
2013-09-05 16:39
快速回复:请高人指点一下这两段sql的差别
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017843 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved