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 барои филтр кардани натиҷаҳои ҷамъбандӣ истифода баред.