社区
基础和管理
帖子详情
老式 outer join 的问题
Leejs413
2008-07-09 02:18:27
在一段代码中,看到了下面的一段sql语句,搞了半天明白了(+)=相当于left outer join
但是(+)<>就弄不明白了,好像是老式的outer join语句,而且不能和left outer join混用
SELECT *
FROM A,B
WHERE A.ID (+)= B.ID
AND A.origin(+)<>'U'
大家帮忙看看,谢谢了
...全文
140
2
打赏
收藏
老式 outer join 的问题
在一段代码中,看到了下面的一段sql语句,搞了半天明白了(+)=相当于left outer join 但是(+)就弄不明白了,好像是老式的outer join语句,而且不能和left outer join混用 SELECT * FROM A,B WHERE A.ID (+)= B.ID AND A.origin(+)'U' 大家帮忙看看,谢谢了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Leejs413
2008-07-09
打赏
举报
回复
谢谢1楼的回答,但是这样理解查询结果不一样
又尝试了一下,发现在老式的<>还是有一些区别的
建了两个表A,B
A_ID A
---------- -
1 a
2 a
B_ID B
---------- -
1 b
2 b
select *
from A
left outer join B
on A.A_ID = B.B_ID
where A.A_ID<>'2';
select *
from A,B
where A.A_ID(+)=B.B_ID
and A.A_ID(+)<>'2'
这两个语句的查询结果不一样,分别是
A_ID A B_ID B
---------- - ---------- -
1 a 1 b
A_ID A B_ID B
---------- - ---------- -
1 a 1 b
2 b
也就是说老式的查询是先过滤再进行outer join
现在的都是先outer join完再过滤数据
gaohaha
2008-07-09
打赏
举报
回复
= 号 相当于 left outer join on aa.aa=bb.bb 的等号
<> 相当于 left outer join on aa.aa<>bb.bb 的不等号
PostgreSQL 连接(
JOIN
)
本文系统讲解PostgreSQL中7种
JOIN
类型、核心语法、执行顺序及性能优化策略。重点涵盖INN
ER
JOIN
、LEFT/RIGHT/FULL OUT
ER
JOIN
、CROSS
JOIN
与LAT
ER
AL
JOIN
的应用场景,结合索引优化、NULL处理、JSON/数组关联和递归自连接等高级特性,提供从入门到生产的完整实践指南。
JOIN
用法
SQL 里查询 / 更新的数据源都由FROM定义,
JOIN
是,属于FROM子句的一部分,不能单独写、不能脱离FROM。格式固定:sql。
【MySQL】表的内连接和外连接
本文系统讲解MySQL中INN
ER
JOIN
、LEFT
JOIN
、RIGHT
JOIN
及模拟FULL OUT
ER
JOIN
的原理与实践。重点剖析Venn图语义、ON与WH
ER
E条件执行时机差异、NULL填充机制,并指出LEFT
JOIN
为实际开发中最常用的外连接方式。涵盖面试高频考点,如
JOIN
类型选择、多表混合连接顺序、隐式连接陷阱及FULL
JOIN
替代方案。
加号 and oracle,Oracle的加号(+)表示法和ansi
JOIN
表示法之间的区别?
本文探讨了Oracle特有的(+)符号在连接操作中的使用及其限制,并与ANSI标准的
JOIN
语法进行了比较。强调了使用ANSI
JOIN
语法的可移植性和易读性优势。
[转]SQL S
er
v
er
开发技巧
本文围绕SQL S
er
v
er
展开,解答了多个开发与使用中的常见
问题
。如ANSI式
JOIN
与
老式
联接的性能及转换
问题
、设置拥有者前缀避免重新编译、配置单向合并复制、在计算列创建约束等,还涉及数据转换、连接测试、数据导出等方面的
问题
及解决办法。
基础和管理
17,377
社区成员
95,112
社区内容
发帖
与我相关
我的任务
基础和管理
Oracle 基础和管理
复制链接
扫一扫
分享
社区描述
Oracle 基础和管理
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章