独立子查询

每个子查询都有所谓于的外部查询。独立子查询是独立于其外部查询的子查询。在逻辑上,独立子查询在执行外部查询之前只要先执行一次,接着外部查询再使用子查询的结果继续进行查询。

1.独立标量子查询

标量子查询是返回单个值的子查询,而不管它是不是独立子查询。标量子查询可以出现在外部查询中期望使用单个值的任何地方(WHERE、SELECT,等等)。

DECLARE @maxid AS INT=(SELECT MAX(orderid) FROM Orders);

2.独立多值子查询

多值子查询是在一个列中返回多个值的子查询,而不管子查询是不是独立的。一些谓词(例如IN谓词)可以处理多值子查询。

SELECT custid,orderid,orderdate,empid FROM dbo.Orders

WHERE custid IN (SELECT custid FROM Customers WHERE country=N'USA');

原文地址:https://www.cnblogs.com/zhangdx/p/3722597.html