Sobes.tech
Junior

Wat is het verschil tussen de WHERE- en HAVING-uitspraken in SQL?

sobes.tech AI

Antwoord van AI

WHERE wordt toegepast vóór de groepering en filtert de rijen uit de FROM-resultaten. HAVING wordt toegepast na de groepering en filtert de groepen die gevormd zijn met GROUP BY.

Voorbeeld:

Stel dat we een tabel orders hebben met kolommen customer_id, order_date en amount.

Vind alle klanten waarvan het totale bestelbedrag meer dan 1000 is:

SELECT customer_id, SUM(amount)
FROM orders
GROUP BY customer_id
HAVING SUM(amount) > 1000;

Vind alle bestellingen met een bedrag van meer dan 1000:

SELECT customer_id, order_date, amount
FROM orders
WHERE amount > 1000;

Vergelijkingstabel:

Kenmerk WHERE HAVING
Toepassing Op individuele rijen vóór groepering Op gegroepeerde rijen na groepering
Gebruikt Kolommen uit FROM Gegevens van aggregatiefuncties en kolommen uit GROUP BY
Wordt uitgevoerd Voor GROUP BY Na GROUP BY
Aggregatiefuncties Kan niet direct gebruikt worden Kan gebruikt worden