oracle子查询常见错误
原创
©著作权归作者所有:来自51CTO博客作者wangbin0307的原创作品,请联系作者获取转载授权,否则将追究法律责任
1.单行子查询最多返回一行,不要视图向外部查询中单纯的=,>,<操作符传递多行。
2.子查询不能包含ORDER BY语句,排序在外部查询中使用。
3.检查多行子查询使用IN,ANY,ALL,EXISTS等。
4.使用ANY,在其前面必须使用一个=,<>,<,>,<=,>=操作符,与列表中任何值进行比较。
5.使用ALL,在其前面必须使用一个=,<>,<,>,<=,>=操作符,与列表中所有值进行比较。
6.多列子查询使用外部的多列进行比较。
7.关联子查询经常使用EXISTS,检查行的存在性,可以只返回一个常量值来提高查询性能。
8.当一个值列表包含一个空值时,NOT EXISTS返回TRUE,而NOT IN 返回FALSE.使用NVL()函数转换空值即可。
9.子查询嵌套层次最多为255。使用表连接查询性能比使用嵌套子查询高。
上一篇:Oracle函数使用
下一篇:oracle稍复杂查询
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
【Oracle学习】之 子查询
子查询一、子查询分为:① 子查询做源(即放在from后)②子查询做条件(即放在where后)二、子查询运算符:①exists②in③=
oracle 优化 子查询 表名 多表查询 -
mysql in 子查询 错误 mysql子查询原理
| 40 | 6500.000000 | C || 50 | 3475.555556 | B || 60 | 5760.000000 | B || 70 | 10000.000000 | D ||
mysql in 子查询 错误 mysql 数据库 子查询 IT