Sobes.tech
Junior

SQL-də WHERE və HAVING ifadələri arasındakı fərq nədir?

sobes.tech Süni İntellekt

AI-dan cavab

WHERE FROM nəticələrinin sətirlərini qruplaşdırmadan əvvəl tətbiq olunur və onları filtrləyir. HAVING isə qruplaşdırmadan sonra tətbiq olunur və GROUP BY ilə formalaşdırılmış qrupləri filtrləyir.

Nümunə:

Tutaq ki, customer_id, order_dateamount sütunlarına malik orders cədvəlimiz var.

Ümumi sifariş məbləği 1000-dən çox olan bütün müştəriləri tapın:

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

1000-dən çox olan bütün sifarişləri tapın:

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

Müqayisə cədvəli:

Xüsusiyyət WHERE HAVING
Tətbiq Ayrı-ayrı sətirlər üzərində qruplaşdırmadan əvvəl Qruplaşdırmadan sonra qruplar üzərində
İstifadə edir FROM-dan sütunlar GROUP BY-dən sütunlar və toplama funksiyaları
İcrası GROUP BY-dən əvvəl GROUP BY-dən sonra
Toplama funksiyaları Birbaşa istifadə edilə bilməz İstifadə oluna bilər