Sobes.tech
Middle

Standaardvraag over SQL: wat is het verschil tussen WHERE en HAVING?

sobes.tech AI

Antwoord van AI

Het belangrijkste verschil tussen WHERE en HAVING in SQL ligt in de fase waarin ze de gegevens filteren:

  • WHERE filtert de rijen voor de groepering. Wordt gebruikt om de oorspronkelijke dataset te beperken.
  • HAVING filtert de groepen nadat aggregatiefuncties en GROUP BY zijn toegepast.

Voorbeeld:

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

Hier beperkt WHERE de oorspronkelijke rijen, en HAVING de uiteindelijke groepen.