Sobes.tech
Junior — Middle

Тафовут байни оператори HAVING ва шарти WHERE дар SQL-ро шарҳ диҳед ва дар кадом ҳолатҳо бояд истифода шаванд.

sobes.tech AI

Ҷавоб аз AI

Дар SQL, шарти WHERE сатриҳоро пеш аз гурӯҳбандӣ филтр мекунад, ва HAVING онро пас аз гурӯҳбандӣ.

  • WHERE ба сатри алоҳидаи ҷадвал татбиқ мешавад ва маҷмӯи додаҳоро маҳдуд мекунад, ки ба он ҷамъбандӣ мешавад.
  • HAVING ба натиҷаҳои функсияҳои ҷамъбандӣ татбиқ мешавад ва гурӯҳҳоро, ки бо амри GROUP BY ташкил шудаанд, филтр мекунад.

Масалан:

SELECT шӯъба, COUNT(*) ҳамчун шумораи кормандон
FROM кормандон
WHERE маош > 50000  -- кормандон бо маоши беш аз 50000-ро филтр мекунем
GROUP BY шӯъба
HAVING COUNT(*) > 10    -- шӯъбаҳое, ки бештар аз 10 корманд доранд, интихоб мекунем

Аз WHERE барои филтр кардани маълумоти манбаъ ва аз HAVING барои филтр кардани натиҷаҳои ҷамъбандӣ истифода баред.