Речення Having vs Where у SQL

Різниця між пропозиціями 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>

HAVING> total>70>

Учень Всього

90

і 80

Примітка. Це не попередньо визначене правило, але у великій кількості SQL-запитів ми використовуємо WHERE перед GROUP BY і HAVING після GROUP BY. Речення Where діє як a попередній фільтр де як Маючи як a фільтр постів.