CodeBlanks Logo Icon CodeBlanks

FILTER clause

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

query.sql
-- filter ile
SELECT
  SUM(amount)

Örnek çözüm

query.sql
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

Soru
SUM(amount) ____ (WHERE category = 'Kitap') AS Kitap
Cevap
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.

İleri seviye bölümündeki tüm dersler