Sobes.tech
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 Фільтрація груп Групи рядків Так Після