SQL Server 基础:子查询

Original 2016-11-09 15:10:56 934
abstract:1.子查询的概念:子查询就是嵌套在主查询中的查询。子查询可以嵌套在主查询中所有位置,包括SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY。2.子查询的分类:2.1按照相关性分类1)相关子查询  执行依赖于外部查询的数据。  外部查询返回一行,子查询就执行一次。2)非相关子查询  独立于外部查询的子查询。  子查询总共执行一次,执行完毕后后将值传递给外部查询。需要

1.子查询的概念:
子查询就是嵌套在主查询中的查询。
子查询可以嵌套在主查询中所有位置,包括SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY。
2.子查询的分类:
2.1按照相关性分类
1)相关子查询
  执行依赖于外部查询的数据。
  外部查询返回一行,子查询就执行一次。
2)非相关子查询
  独立于外部查询的子查询。
  子查询总共执行一次,执行完毕后后将值传递给外部查询。
需要注意的是相关子查询主查询执行一回,子查询就执行一回,十分耗费时间,尤其是当数据多的时候。
2.2按照返回的结果集分类
1)单值子查询
  只有返回且仅返回一行、一列数据的子查询才能当成单值子查询。当子查询跟随在=、!=、<、<=、>、>=,<> 之后,或子查询用作表达式,只能使用单值子查询。
2) 多值子查询
  如果子查询是多行单列的子查询,这样的子查询的结果集其实是一个集合,那么可以使用in关键字代替=号

Release Notes

Popular Entries