欢迎来到天天文库
浏览记录
ID:15449084
大小:26.00 KB
页数:3页
时间:2018-08-03
《关联子查询和非关联子查询》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、什么是子查询1.子查询是嵌套在其他查询中的常规的T-SQL查询(用括号括起来),当需要一个SELECT语句作为数据部分的基础或另一个查询中的条件的要素时,就是创建子查询。 2.子查询满足的需求: (1).把一个查询分解成一系列的逻辑步骤。 (2).提供一个列表作为WHERE子句和[IN/EXISTS/ANY/ALL]的目标对象。 (3).提供由父查询中每一条记录驱动的查找。一.嵌套的子查询1.嵌套子查询只朝一个方向进行——要么返回一个而用于外部查询的值,要么返回一个与IN运算符一起使用的的值的列表。2.嵌套子查询中,内部查询只处理一次。3.与NULL比较总会得到NULL。如果
2、允许NULL在子查询中出现,则在与NOTIN相比较时,外部查询中的所有行都会被确定为错误的——这将返回空的列表。二.关联(相关)子查询1.执行步骤: (1)外部查询得到一条记录并将其传入到内部查询。 (2)内部查询基于传入的值执行。 (3)内部查询从其结果中把值传回到外部查询,外部查询使用这些值来完成其处理。注:①在关联子查询中,对于外部查询返回的每一行数据,内部查询都要执行一次。②在关联子查询中是信息流是双向的。③外部查询的每行数据传递一个值给子查询,然后子查询为每一行数据执行一次并返回它的记录,外部查询根据返回的记录做出决策。例:SELECTtitleFROMMovies
3、OldWHEREyear
此文档下载收益归作者所有