数据库的子查询

作者:修丹
日期:2012/5/27 7:59:06

子查询是指一条SELECT语句作为另一条SELECT语句的一部分,外层的SELCT语句称为外部查询,内层的SELECT语句称为内部查询(或子查询)。子查询分两种:嵌套子查询和相关子查询。
嵌套子查询
嵌套子查询的执行不依赖于外部嵌套。
嵌套子查询的执行过程为:首先执行子查询,子查询得到的结果集不被显示出来,而是传给外部查询,作为外部查询的条件使用,然后执行外部查询,并显示查询结果。子查询可以多层嵌套。
嵌套子查询一般也分为两种:子查询返回单个值和子查询返回一个值列表。
返回单个值
返回单个值,该值被外部查询的比较操作(如,= 、!=、<、<=、>、>=)使用,该值可以使子查询中使用集合函数得到的值。
返回一个值列表
返回一个值列表,该列表被外部查询的IN、NOT IN、ANY或ALL比较操作使用。
IN表示属于,即外部查询中用于判断的表达式的值与子查询返回的值列表中的一个值相等;NOT  IN表示不属于。

分享