编程那点事编程那点事

专注编程入门及提高
探究程序员职业规划之道!

SQL Server子查询

SQL Server子查询定义

当一个查询是另外一个查询的条件时,称之为子查询。子查询可以按2种方式分类。按期望值数量分为:标量子查询和多值子查询。按子查询对外部查询的依赖性分为:独立子查询和相关子查询。

下图是我用思维导出软件做出的子查询分类图

子查询分类

标量子查询可以出现在查询中希望产生标量值的任何地方,而多值子查询可以出现在查询中希望多值集合的任何地方。

标量子查询返回的值是单个或者不返回值(返回NULL),标量子查询返回多个值,就将产生运行时错误。

什么是独立子查询

独立子查询是独立于外部查询而运行的子查询,相比于相关子查询,独立子查询更便于调试。通俗一点讲就是子查询和外层查询不存在任何联系,是独立于外层查询的。

下面来看个独立子查询的例子


什么是相关子查询

相关子查询是引用了外部查询列的子查询。通俗一点讲就是子查询里面的条件依赖于外层查询的数据。

下面来看个相关子查询的例子


通过例子,我想应该能很好的理解什么是独立子查询,什么是相关子查询了吧?

未经允许不得转载: 技术文章 » 数据库 » SQL Server子查询