Sobes.tech
Junior — Middle

SQL суроолор менен иштөөдө HAVING жана WHERE шарттарынын айырмасы эмне?

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 алгачкы группаланган маалыматтарды фильтрлейт.