Junior — Middle
SQL-да HAVING операторы мен WHERE шарттарының айырмашылықтарын түсіндіріңіз және оларды қай жағдайларда қолдану керек?
sobes.tech AI
AI-дан жауап
SQL-да WHERE шарты жолдарды топтастырудан бұрын сүзгіден өткізеді, ал HAVING — топтастырғаннан кейін.
- WHERE жеке жолдарға қолданылады және деректер жиынтығын шектейді, ол агрегатталатын болады.
- HAVING агрегаттық функциялардың нәтижелеріне қолданылады және GROUP BY операторымен құрылған топтарды сүзгіден өткізеді.
Мысал:
SELECT department, COUNT(*) as employee_count
FROM employees
WHERE salary > 50000 -- жалақысы 50000-ден жоғары қызметкерлерді сүзгіден өткіземіз
GROUP BY department
HAVING COUNT(*) > 10 -- 10-нан астам қызметкері бар бөлімдерді таңдаймыз
Бастапқы деректерді сүзу үшін WHERE пайдаланыңыз, ал агрегатталған нәтижелерді сүзу үшін HAVING пайдаланыңыз.