Sobes.tech
Middle

Чӣ гуна фарқ мекунад WHERE аз HAVING?

sobes.tech AI

Ҷавоб аз AI

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

HAVING барои филтр кардани маълумоти аллакай гурӯҳбандӣшуда истифода мешавад, яъне пас аз иҷрои функсияҳои ҷамъоварӣ ва гурӯҳбандӣ.

Масалан:

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

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