Різниця між пропозиціями having і where у SQL полягає в тому, що пропозиція where cann от можна використовувати з агрегатами, але речення having може.
The де речення працює з даними рядка, а не зі зведеними даними. Розглянемо нижче таблицю «Оцінки».
Оцінка студента за курс
a c1 40
a c2 50
b c3 60
d c1 70
e c2 80
Розглянемо запит
SELECT>Student, Score FROM Marks WHERE Score>=40>> |
Це призведе до вибору даних рядок за рядком.
The мати пункт працює на агрегованих даних.
Наприклад, вихід наведеного нижче запиту
SELECT>Student,>SUM>(score) AS>>total>FROM>Marks> GROUP BY>Student> |
Учень Всього
90
б 60
d 70
і 80
Коли ми застосовуємо запит вище, ми отримуємо
SELECT>Student,>SUM>(score) AS>>total>FROM>Marks> GROUP BY>Student>
|
Учень Всього
90
і 80
Примітка. Це не попередньо визначене правило, але у великій кількості SQL-запитів ми використовуємо WHERE перед GROUP BY і HAVING після GROUP BY. Речення Where діє як a попередній фільтр де як Маючи як a фільтр постів.