关于oracle的外联接问题!!

corywind 2015-08-18 10:06:25
最近开始做oracle的数据库,遇到一个简单问题,有经验老道的前辈指点一下
就是在oracle数据库里面做表的外联操作,如果追加了外联条件的话,是否会影响数据的出力条数
举例:
表:t1,t2,t3
主键,t1:key1,key2
t2:key1,key2
t3:key1,key2

原始查询语句:
select * from
t1,t2
where
t1.key1=t2.key1(+)
and t1.key2=t2.key2(+)

现在追加了一个表t3,需要用到其中的几个数据,如果有,就显示,如果没有就显示空,不影响原来的显示条数
除了关联的两个主键之外,这个t3表还需要加一个条件就是 usertype=1
我的做法是
select * from
t1,t2 ,(select * from t3 where usertype=1) ts3
where
t1.key1=t2.key1(+)
and t1.key2=t2.key2(+)
and t1.key1=ts3.key1(+)
and t1.key2=ts3.key2(+)

我想问的是,如果把usertype=1这个条件拿到外边直接加到关联条件里面并且不影响原来的处理条数可以实现吗,谢谢!





...全文
123 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
mayanzs 2015-08-18
  • 打赏
  • 举报
回复
使用(+)进行外连接时,不知将t3.usertype=1加进去有没有影响,没试过,其实你可以试试 ,但使用 left join 或 right join时加入 t3.usertype=1 应该没问题的。

17,082

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧