CodeBlanks Logo Icon CodeBlanks

HAVING ve alias

Aggregate'lara alias verip HAVING'te kullanmayı öğrenirsin.

HAVING ve alias

Bazı veritabanları HAVING'de takma ad kullanmanıza izin verir. Standart SQL agregatı tekrar yazar.

SELECT category, SUM(price) AS total
FROM products
GROUP BY category
HAVING SUM(price) > 100;

Örnekte: takma adı SELECT'te, agregatı HAVING'de yaz.

products kaynağından category, SUM(price) AS total seçilir. Satırlar category değerine göre gruplanır; toplam fonksiyonları her grup için ayrı hesaplanır. HAVING SUM(price) > 100 gruplamadan sonra çalışır ve koşulu sağlamayan grupları eler.

HAVING ve alias — ayrıntı

PostgreSQL ve MySQL genelde takma ada izin verir. Taşınabilirlik için agregatı açıkça yazmak daha güvenlidir.

Örneğin HAVING total > 500 bazı veritabanlarında çalışır ama standart değildir; HAVING SUM(amount) > 500 her yerde çalışır.

Uygulama HAVING ve alias

HAVING'de takma ad yerine SUM(price) > 100 yaz.

Başlangıç kodu

query.sql
-- taşınabilir having
SELECT category, SUM(price) AS total
FROM products
GROUP BY category
HAVING

Örnek çözüm

query.sql
SELECT category, SUM(price) AS total
FROM products
GROUP BY category
HAVING SUM(price) > 100;

Beklenen çıktı

category  total
Elektronik 350
Kitap     150

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Agregat ekle

Soru
HAVING ____(price) > 100;
Cevap
HAVING SUM(price) > 100;

Açıklama: HAVING'de toplam fonksiyonu kullanılır; SUM(price) > 100 toplamı 100'ü geçen grupları bırakır.

2 HAVING ve alias: kavramları eşleştir

Kavram Anlamı
alias takma ad
SUM topla
HAVING grup filtre
portable taşınabilir

3 HAVING'de takma ad her zaman çalışır mı?

  • Bazı veritabanlarında Doğru cevap
  • Her zaman
  • Hiçbir zaman
  • Sadece MySQL

Açıklama: Takma ad bazı veritabanlarında çalışır, agregat her zaman.

Orta seviye bölümündeki tüm dersler