Sobes.tech
Junior — Middle

Wat is het verschil tussen de voorwaarden WHERE en HAVING bij het werken met SQL-query's?

sobes.tech AI

Antwoord van AI

In SQL worden de voorwaarden WHERE en HAVING gebruikt om gegevens te filteren, maar ze worden toegepast in verschillende fasen van de query-verwerking:

  • WHERE filtert de rijen voor groepering en aggregatie. Het beperkt de dataset die in de query wordt gebruikt.
  • HAVING filtert de groepen nadat aggregatiefuncties (bijvoorbeeld SUM, COUNT, AVG) zijn toegepast. Het wordt gebruikt om de resultaten van de aggregatie te beperken.

Voorbeeld:

SELECT afdeling, COUNT(*) as aantal_werknemers
FROM werknemers
WHERE salaris > 50000       -- filtert werknemers met salaris > 50000
GROUP BY afdeling
HAVING COUNT(*) > 10;        -- selecteert afdelingen met meer dan 10 werknemers

Hier selecteert WHERE werknemers met een salaris hoger dan 50000, en HAVING filtert de afdelingen waar meer dan 10 werknemers zijn.