对于oracle特有的 + 的一点疑惑

绝版小西瓜 发布于 2010/12/20 13:36
阅读 273
收藏 2

【开源中国 APP 全新上线】“动弹” 回归、集成大模型对话、畅读技术报告”

以前只知道使用oracle的时候的要想显示一张表中的全部信息就要在条件中和这张表匹配的条件的另张表的字段后加上+,但是今天发现了点问题,比如 A (usercode,funccode)  B(usercode,username) C(funccode,funcname),现在我的需求是查出用户id为 ‘xx’ 下的所有funccode ,但要显示username 和 funcname ,我是这样写的

SELECT a.usercode,b.username,a.funccode,c.funcname FROM A a,B b, C c WHERE a.usercode = b.usercode

AND a.funccode(+) = c.funccode,求教 使用了 a.funccode(+) = c.funccode 还能不能使用a表和b表关联

加载中
0
芙蓉镇
芙蓉镇

a表和b表关联没问题,但a表现在是外关联了,如果a表返回空的话,此时sql中有一个a与b的直接关联,这样就出不来结果了吧

最简单的解决方法是再写个a与b表的子查询,然后与c外关联

0
c
cuiw

印象中对于已经被外联的表再使用外联,oracle会报错的。

二楼的子查询的方法是对的

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部