关联子查询执行过程的问题!
SELECT soh1.CustomerID,soh1.SalesOrderID,soh1.OrderDate
FROM Sales.SalesOrderHeader soh1
WHERE soh1.OrderDate = (SELECT MIN(soh2.OrderDate)
FROM Sales.SalesOrderHeader soh2
WHERE soh2.CustomerID = soh1.CustomerID)
1外部查询获得一个记录,然后将该记录传递到内部查询。
2内部查询根据传递的值执行。
3然后内部查询将结果值传回外部查询,而外部查询利用这些值完成处理过程。这5行代码是怎么执行的?
SELECT soh1.CustomerID,soh1.SalesOrderID,soh1.OrderDate
FROM Sales.SalesOrderHeader soh1
WHERE soh1.OrderDate = (SELECT MIN(soh2.OrderDate)
FROM Sales.SalesOrderHeader soh2
WHERE soh2.CustomerID = soh1.CustomerID)
1外部查询获得一个记录,然后将该记录传递到内部查询。
2内部查询根据传递的值执行。
3然后内部查询将结果值传回外部查询,而外部查询利用这些值完成处理过程。这5行代码是怎么执行的?
关联子查询是双向的,不和道怎么个双向法?
WHERE soh1.OrderDate = (SELECT MIN(soh2.OrderDate)
FROM Sales.SalesOrderHeader soh2
WHERE soh2.CustomerID = soh1.CustomerID)
这句是把soh1.OrderDate = 日期(最小的一个)?
然后下一步是怎么传送的?