Menu
Coddy logo textTech

NULL Değerler için COALESCE

Coddy'nin SQL Journey'sinin Temellerin Ötesi bölümünün bir parçası — ders 3 / 27.

COALESCE, NULL olmayan ilk bağımsız değişkeni döndürür:

COALESCE(nickname, first_name, 'Anonymous')

Soldan sağa doğru okur ve ilk null olmayan değerde durur. Bir sorguda varsayılan bir değer sağlamanın en temiz yoludur; CASE ifadesine gerek kalmaz.

Yaygın kullanım alanları:

  • Bir LEFT JOIN işleminden NULL yerine 0 gösterin: COALESCE(SUM(amount), 0)
  • Boş olmayan ilk isteğe bağlı alanı seçin: COALESCE(mobile, home, work)
challenge icon

Görev

Kolay

Mevcut tablolar ve sütunlar:

  • <strong>users</strong>: <strong>id</strong>, <strong>display_name</strong>, <strong>email</strong>
  • <strong>orders</strong>: <strong>user_id</strong>, <strong>amount</strong>

Her kullanıcı için şu bilgileri içeren bir satır döndürün:

  • id
  • label: varsa display_name, yoksa email, o da yoksa 'unknown'
  • total_spent: kullanıcının sipariş amount değerlerinin toplamı; siparişi olmayan kullanıcılar 0 (NULL değil) göstermelidir

id sütununa göre sıralayın. İpucu: users tablosundan orders tablosuna bir LEFT JOIN ve COALESCE(SUM(...), 0) kullanımı eksik satırları halleder.

Kopya kağıdı

COALESCE, ilk NULL olmayan argümanı döndürür:

COALESCE(nickname, first_name, 'Anonymous')

Yaygın kullanım alanları:

  • Yedek görüntüleme değeri: COALESCE(mobile, home, work)
  • LEFT JOIN toplamlarından (aggregates) gelen NULL değerini değiştirme: COALESCE(SUM(amount), 0)

Kendin dene

SELECT u.id,
       -- COALESCE aracılığıyla label
       -- COALESCE(SUM(...), 0) aracılığıyla total_spent
FROM users u
LEFT JOIN orders o ON o.user_id = u.id
GROUP BY u.id
ORDER BY u.id
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temellerin Ötesi bölümündeki tüm dersler