T-SQL查询学习心得
相关子查询
引用了外部查询的列的子查询。逻辑上子查询会为外部查询的每一行计算一次。在物理上,它是一个动态的查询过程,子查询的值随变化而相应变化,有多种方法处理相关子查询。
EXISTS
EXISTS 的输入是一个子查询,一般会关联到外部查询,根据子查询是否返回行,返回false或者true,而且不返回unkkown;
exists与in的区别:
当输入列表包涵null时,in实际上会产生一个unkkown的逻辑结果。在筛选器中unkown与false是一样的处理,因而会产生与exists一样的执行计划。
not exists与not in的区别:
当子查询返回的列表中不包含null时,not in 与not exists的结果是一样的。
当子查询返回的列表中包含null时,not in 返回not ture 或者not unkown (= unknown) 而not exists返回 false或者ture 。
应用: missing value (最小缺失值)
假设dbo.T1的keycol是递增的现在,需要找出最小的缺失的记录。解决方案:
表表达式(Tale Exprressions)
派生表 一种从查询表达式派生出虚拟结果表的表表达式。
FROM (derived_table_query expression) AS derived_table_alias
规则:所有列必需有名称 且唯一 不准用 ORDER BY (除非有指定TOP)不能用作相关表。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库SQL查询学习心得(3)在线全文阅读。
相关推荐: