Pokaż klientów, którzy w 1996 roku nie złożyli żadnego zamówienia, ale złożyli je później. Zadanie rozwiąż na dwa różne sposoby.
Baza: Northwind, Tabela: dbo.Orders, Kolumny: CustomerID, OrderDate, Wynik: 22 rows
[spoiler title=’Rozwiązanie’ collapse_link=’true’]1) z grupowaniem:
SELECT CustomerID
FROM dbo.Orders
GROUP BY CustomerID
HAVING MIN(OrderDate) >= '19970101′;
2) z użyciem podzapytań:
SELECT DISTINCT O.CustomerID
FROM dbo.Orders as O
WHERE O.CustomerID not in (SELECT o1.CustomerID FROM dbo.Orders as o1 WHERE o1.OrderDate >= '19960101′ AND o1.OrderDate < '19970101′)
AND O.CustomerID in (SELECT o2.CustomerID FROM dbo.Orders as o2 WHERE o2.OrderDate >= '19970101′)
ORDER BY O.CustomerID;
[/spoiler]