|--Nested Loops(Left Semi Join, OUTER REFERENCES:([o].[CustomerID], [o].[OrderID])) |--Index Scan(OBJECT:([Northwind].[dbo].[Orders].[CustomerID] AS [o])) |--Filter(WHERE:([o].[OrderID]=[o1].[OrderID])) |--Top(1) |--Filter(WHERE:([o1].[CustomerID]=[o].[CustomerID])) |--Bookmark Lookup(BOOKMARK:([Bmk1001]), OBJECT:([Northwind].[dbo].[Orders] AS [o1])) |--Index Scan(OBJECT:([Northwind].[dbo].[Orders].[OrderDate] AS [o1]), ORDERED FORWARD)
|--Compute Scalar(DEFINE:([OSub].[OrderID]=[OSub].[OrderID])) |--Nested Loops(Left Outer Join, OUTER REFERENCES:([O].[CustomerID])) |--Stream Aggregate(GROUP BY:([O].[CustomerID])) | |--Index Scan(OBJECT:([Northwind].[dbo].[Orders].[CustomerID] AS [O]), ORDERED FORWARD) |--Compute Scalar(DEFINE:([OSub].[OrderID]=[OSub].[OrderID])) |--Top(1) |--Filter(WHERE:([OSub].[CustomerID]=[O].[CustomerID])) |--Bookmark Lookup(BOOKMARK:([Bmk1001]), OBJECT:([Northwind].[dbo].[Orders] AS [OSub])) |--Index Scan(OBJECT:([Northwind].[dbo].[Orders].[OrderDate] AS [OSub]), ORDERED FORWARD)There's a HUGE difference in the performance of these two queries. Notice that the totalSubTree costs are very different: 2.122 vs. 0.359.