Menu
CoddyTech

COALESCE untuk NULL

Termasuk bagian Lebih dari Dasar-Dasar dalam perjalanan SQL di Coddy. Pelajaran 3 dari 27.

COALESCE mengembalikan argumen pertama yang bukan NULL:

COALESCE(nickname, first_name, 'Anonymous')

Membaca dari kiri ke kanan dan berhenti pada nilai pertama yang bukan null. Ini cara paling sederhana untuk memberikan nilai fallback dalam query, tanpa perlu CASE.

Penggunaan umum:

  • Tampilkan 0 alih-alih NULL dari LEFT JOIN: COALESCE(SUM(amount), 0)
  • Pilih kolom opsional pertama yang tidak kosong: COALESCE(mobile, home, work)
challenge icon

Tantangan

Mudah

Tabel dan kolom yang tersedia:

  • users: id, display_name, email
  • orders: user_id, amount

Kembalikan satu baris untuk setiap pengguna dengan:

  • id
  • label: display_name jika tersedia, jika tidak email, dan jika tidak 'unknown'
  • total_spent: jumlah amount pesanan pengguna; pengguna yang tidak memiliki pesanan harus menampilkan 0 (bukan NULL)

Urutkan berdasarkan id. Petunjuk: LEFT JOIN dari users ke orders ditambah COALESCE(SUM(...), 0) menangani baris yang tidak ada.

Coba sendiri

SELECT u.id,
       -- label melalui COALESCE
       -- total_spent melalui COALESCE(SUM(...), 0)
FROM users u
LEFT JOIN orders o ON o.user_id = u.id
GROUP BY u.id
ORDER BY u.id
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Lebih dari Dasar-Dasar

Latihan sendiri: Playground SQL