Is derived table executed once or three times?

Posted by AspOnMyNet on Stack Overflow See other posts from Stack Overflow or by AspOnMyNet
Published on 2010-05-04T18:45:47Z Indexed on 2010/05/04 18:48 UTC
Read the original article Hit count: 293

Filed under:
|
|

Every time you make use of a derived table, that query is going to be executed. When using a CTE, that result set is pulled back once and only once within a single query.

Does the quote suggest that the following query will cause derived table to be executed three times ( once for each aggregate function’s call ):

  SELECT 
    AVG(OrdersPlaced),MAX(OrdersPlaced),MIN(OrdersPlaced)
  FROM (
    SELECT
        v.VendorID,
        v.[Name] AS VendorName,
        COUNT(*) AS OrdersPlaced
    FROM Purchasing.PurchaseOrderHeader AS poh
    INNER JOIN Purchasing.Vendor AS v ON poh.VendorID = v.VendorID
    GROUP BY v.VendorID, v.[Name]
  ) AS x

thanx

© Stack Overflow or respective owner

Related posts about sql

Related posts about tsql