Junior — Middle
Фарқи байни шарти HAVING ва шарти WHERE дар кор бо дархостҳои SQL чист?
sobes.tech AI
Ҷавоб аз AI
SQL-да WHERE ва HAVING орасидаги асосий фарқ:
- WHERE сатрларни гурӯҳлашдан олдин (GROUP BY). У алоҳида ёзувларга қўлланилади.
- HAVING, гуруҳлашдан кейин гуруҳларни фильтрлайди. У агрегат функциялари (масалан, COUNT, SUM) бўйича шартлар учун ишлатилади.
Масалан:
SELECT бўлим, COUNT(*) деб ишчи_сони
FROM ишчилар
WHERE маош > 50000 -- маоши 50000 дан юқори бўлган ишчиларни фильтрлаймиз
GROUP BY бўлим
HAVING COUNT(*) > 10 -- 10 дан ортиқ ишчиси бўлган бўлимларни танлаймиз
Бу ерда WHERE гуруҳлаш учун сатрларни танлайди, HAVING эса аллақачон гуруҳланган маълумотларни фильтрлайди.