Sobes.tech
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 эса аллақачон гуруҳланган маълумотларни фильтрлайди.