FILTER clause
- SQL kursu
- İleri seviye
- Ders 26/81
- 4 dk
FILTER anahtar sözcüğünü öğrenirsin.
FILTER clause
FILTER yan tümcesi aggregate'i koşullu yapar. CASE'e göre daha okunabilirdir.
SELECT
SUM(amount) FILTER (WHERE category = 'Kitap') AS Kitap,
SUM(amount) FILTER (WHERE category = 'Elektronik') AS Elektronik
FROM sales;PostgreSQL ve SQLite destekler.
sales kaynağından SUM(amount) FILTER (WHERE category = 'Kitap') AS Kitap, … seçilir.
FILTER clause — ayrıntı
FILTER aggregate sonuna eklenir. CASE yazmadan koşullu toplam verir.
FILTER PostgreSQL ve SQLite'ta desteklenir; MySQL'de yoktur, orada aynı sonucu SUM(CASE WHEN … THEN amount END) ile alırsın.
Uygulama FILTER clause
SUM(amount) FILTER (WHERE category = 'Kitap') ile koşullu toplam yaz.
Başlangıç kodu
-- filter ile
SELECT
SUM(amount)Örnek çözüm
SELECT
SUM(amount) FILTER (WHERE category = 'Kitap') AS Kitap,
SUM(amount) FILTER (WHERE category = 'Elektronik') AS Elektronik
FROM sales;Beklenen çıktı
Kitap 200
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 FILTER clause: kavramları eşleştir
| Kavram | Anlamı |
|---|---|
FILTER |
koşullu |
CASE |
alternatif |
SUM |
topla |
okunabilir |
temiz |
2 FILTER ekle
SUM(amount) ____ (WHERE category = 'Kitap') AS Kitap
SUM(amount) FILTER (WHERE category = 'Kitap') AS Kitap
Açıklama: FILTER (WHERE …) bir toplam fonksiyonunu yalnızca koşulu sağlayan satırlarla çalıştırır.
3 FILTER ne yapar?
- Sıralama
- Koşullu aggregate Doğru cevap
- Gruplama
- Filtreleme
Açıklama: FILTER aggregate'i koşullu yapar.