Czy jest jakaś różnica między tymi zapytaniami? Wiem, że HAVING używa się po GROUP BY, a WHERE przed GROUP BY, ale czy czy jest jeszcze jakaś różnica?
SELECT CustomerID, MIN(OrderID) as FirstOrder, MAX(OrderID) as LastOrder
FROM dbo.Orders
WHERE Country IN(SELECT Country FROM dbo.Customers WHERE Country = 'Germany')
GROUP BY CustomerID
ORDER BY CustomerID
SELECT CustomerID, MIN(OrderID) as FirstOrder, MAX(OrderID) as LastOrder
FROM dbo.Orders
GROUP BY CustomerID
HAVING CustomerID IN(SELECT CustomerID FROM dbo.Customers WHERE Country = 'Germany')
ORDER BY CustomerID