Sobes.tech
Junior — Middle

Wat is het verschil tussen de operators HAVING en WHERE in SQL en wanneer moeten ze worden gebruikt?

sobes.tech AI

Antwoord van AI

De WHERE-operator wordt gebruikt om rijen te filteren voordat de gegevens worden gegroepeerd. Het selecteert de rijen die deelnemen aan verdere operaties, zoals aggregatiefuncties.

De HAVING-operator wordt toegepast om al gegroepeerde gegevens te filteren, dat wil zeggen na het uitvoeren van GROUP BY. Het stelt je in staat om groepen te filteren op basis van aggregatievoorwaarden.

Voorbeeld:

SELECT department, COUNT(*) AS employee_count
FROM employees
WHERE salary > 50000  -- filteren van rijen op salaris
GROUP BY department
HAVING COUNT(*) > 5      -- filteren van groepen op aantal werknemers

Samenvatting:

  • WHERE filtert individuele records vóór het groeperen.
  • HAVING filtert de groepen na het groeperen.

Gebruik WHERE voor voorwaarden op individuele velden, HAVING voor voorwaarden op aggregatiefuncties.