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。使用表连接查询性能比使用嵌套子查询高。