关联子查询执行过程的问题!
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行代码是怎么执行的?

解决方案 »

  1.   

    ctrl+l 看一下执行计划就比较清楚了!
      

  2.   

    看不懂啊
    关联子查询是双向的,不和道怎么个双向法?
    WHERE soh1.OrderDate = (SELECT MIN(soh2.OrderDate)
                 FROM Sales.SalesOrderHeader soh2
        WHERE soh2.CustomerID = soh1.CustomerID)
    这句是把soh1.OrderDate = 日期(最小的一个)?
    然后下一步是怎么传送的?