Junior — Middle
Koja je razlika između uslova WHERE i HAVING pri radu sa SQL upitima?
sobes.tech АИ
Одговор од АИ
WHERE и HAVING су услови за филтрирање у SQL-у, али се примењују у различитим фазама обраде података.
WHEREфилтрира редове пре груписања. Користи се за избор записа на нивоу оригиналних података.HAVINGфилтрира групе формиране командомGROUP BY. Примењује се након агрегирања.
Пример:
SELECT одељење, COUNT(*) као број_запослених
FROM запослени
WHERE плата > 50000 -- филтрирамо запослене са платом > 50000
GROUP BY одељење
HAVING COUNT(*) > 10 -- изабиремо одељења са више од 10 запослених
Овде се прво бирају запослени са платом изнад 50000 (WHERE), затим се подаци групишу по одељењима, и на крају се бирају само она одељења где је број запослених већи од 10 (HAVING).