Sobes.tech
Junior — Middle

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

sobes.tech AI

AIден жооп

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

  • WHERE саптарды группалоодон мурда фильтрлейт. Ал негизги маалыматтар деңгээлиндеги жазууларды тандоо үчүн колдонулат.
  • HAVING GROUP BY оператору менен түзүлгөн топторду фильтрлейт. Бул агрегаттоо иштетилгичтен кийин колдонулат.

Мисал:

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

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