Sobes.tech
Junior — Middle

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

sobes.tech AI

AIден жооп

SQLде WHERE жана HAVING шарттары маалыматтарды фильтрлөө үчүн колдонулат, бирок алар суроо иштетүүнүн ар кандай этаптарында колдонулат:

  • WHERE саптарды топтоо алдында фильтрлейт. Бул топтолгон маалыматтардын чегин белгилөө үчүн колдонулат.
  • HAVING топтолгондон кийин, агрегаттык функцияларды (мисалы, SUM, COUNT) колдонгондон кийин топторду фильтрлейт.

Мисал:

SELECT бөлүм, COUNT(*) катары кызматкерлердин_саны
FROM кызматкерлер
WHERE маяна > 50000       -- топтоодон мурда маяна боюнча фильтр
GROUP BY бөлүм
HAVING COUNT(*) > 10;        -- 10дон ашык кызматкери бар топторду фильтрлөө

Бул жерде биринчи болуп маянасы 50000ден жогору кызматкерлер тандалат (WHERE), андан соң маалыматтар бөлүмдөр боюнча топтолуп, жана only бөлүмдөр, алардын ичинде 10дон ашык кызматкер болсо, өтөт HAVING фильтрин.