Basis van databases
De tabel Omzet (Filiaal, Bedrag) bevat zeven rijen: (A, 500), (A, 700), (B, 300), (B, 400), (C, 1200), (D, 200), (D, 900). Hoeveel rijen geeft SELECT Filiaal, SUM(Bedrag) FROM Omzet GROUP BY Filiaal HAVING SUM(Bedrag) >= 1000?
- A1 rij
- B3 rijen
- C4 rijen
Antwoord en toelichting tonen
Antwoord: B. 3 rijen
GROUP BY Filiaal bundelt de rijen per filiaal in vier groepen met de totalen A = 500 + 700 = 1200, B = 300 + 400 = 700, C = 1200 en D = 200 + 900 = 1100. HAVING SUM(Bedrag) >= 1000 houdt alleen de groepen over met een totaal van 1000 of meer, dus het resultaat heeft drie rijen: A, C en D. Eén rij is het resultaat als wordt geselecteerd op het bedrag van elke afzonderlijke rij vóór het groeperen, zoals met WHERE Bedrag >= 1000 (alleen C). Vier rijen is het aantal groepen zonder HAVING.