Sobes.tech
Junior

SQLде WHERE жана HAVING буйруктарынын айырмасы эмнеде?

sobes.tech AI

AIден жооп

WHERE FROM натыйжаларындагы саптарды топтоо алдында колдонулат жана аларды фильтрлейт. HAVING топтоо кийин колдонулат жана GROUP BY менен түзүлгөн топторду фильтрлейт.

Мисал:

Бизде orders деген таблица бар деп эсептейли, алда customer_id, order_date жана amount колонкалары бар.

Бардык кардарларды табыңыз, алардын жалпы заказ суммасы 1000ден ашкан:

SELECT customer_id, SUM(amount)
FROM orders
GROUP BY customer_id
HAVING SUM(amount) > 1000;

Бардык 1000ден ашкан суммадагы заказдарды табыңыз:

SELECT customer_id, order_date, amount
FROM orders
WHERE amount > 1000;

Салыштыруу таблицасы:

Өзгөчөлүк WHERE HAVING
Колдонуу Аерым саптарда топтоштуруудан алдын Топтоштурулган саптарда топтоо кийин
Колдонуу FROMдан колонкалар Агрегаттык функциялар жана GROUP BYдан колонкалар
Ишке ашыруу GROUP BYдан алдын GROUP BYдан кийин
Агрегаттык функциялар Түздөн-түз колдонулбайт Колдонулушу мүмкүн