Middle
SQLде WHERE жана HAVING операторлорунын айырмачылыктары кандай?
sobes.tech AI
AIден жооп
WHERE фильтрует жолдор мурда топтоо (GROUP BY), жана HAVING топтоморду андан кийин фильтрлейт. WHERE колонкаларды колдонушу мүмкүн, алар SELECTте жок, HAVING көбүнчө агрегаттык функцияларды же GROUP BYда бар колонкаларды колдонушу керек.
Мисал:
SELECT
category,
COUNT(*) as total_items
FROM
products
WHERE
price > 10 // Товардын категория боюнча топтоодон мурун фильтрлейбиз
GROUP BY
category
HAVING
COUNT(*) > 5; // 5тен ашык товар бар категорияларды фильтрлейбиз
Салыштыруу:
| Оператор | Максаты | Колдонулат | Агрегаттык функцияларды колдонушу мүмкүнбү | GROUP BY менен тартиби |
|---|---|---|---|---|
WHERE |
Жолдорду фильтрлөө | Жалгыз жолдор | Жок | Мурдараак |
HAVING |
Групптарды фильтрлөө | Жолдордун топтомдору | Ооба | Андан кийин |