Materi
COALESCE(a, b, c) memeriksa argumennya dari kiri dan mengembalikan yang pertama tidak NULL. Fungsi ini dipakai saat hasil kueri akan dibaca orang: laporan yang dicetak, daftar yang disalin ke lembar kerja, atau surat yang digabungkan dari basis data. Sel kosong di kertas terbaca sebagai kesalahan cetak, sedangkan tulisan Tidak diisi terbaca sebagai keterangan. IFNULL(a, b) melakukan hal yang sama untuk dua argumen.
SELECT nama, COALESCE(kota, 'Tidak diisi') AS kota FROM pelanggan;Penggabungan teks membuat NULL menular: pada tabel faktur, 'Jatuh tempo: ' || tanggal_lunas menghasilkan NULL untuk seluruh baris yang belum lunas, bukan kalimat setengah jadi. COALESCE memutus penularan itu, misalnya 'Jatuh tempo: ' || COALESCE(tanggal_lunas, 'belum ditetapkan'). Selisih COUNT(*) dan COUNT(kolom) memberi angka lain yang berguna: banyaknya baris yang kolomnya belum terisi, yang dipakai untuk mengukur seberapa lengkap sebuah tabel sebelum dipakai membuat laporan.
SELECT COUNT(*) - COUNT(kota) AS tanpa_kota FROM pelanggan;