Materi
Jumlah baris menangkap baris yang hilang atau berlipat; total kontrol menangkap nilai yang berubah. Total kontrol adalah jumlah satu kolom angka, misalnya total rupiah per bulan, yang dihitung di sumber dan di hasil dengan pengelompokan yang sama, lalu dibandingkan per kelompok. Selisih per kelompok menunjukkan di mana mencari, bukan hanya bahwa ada masalah.
Dua perilaku agregat perlu diingat. Pertama, sum() hanya menjumlahkan nilai yang bukan NULL, sehingga baris bertotal kosong tidak mengubah jumlah apa pun; baris semacam itu hanya tertangkap rekonsiliasi jumlah baris. Kedua, untuk kelompok yang semua nilainya NULL, sum() mengembalikan NULL sedangkan total() mengembalikan 0.0. Pembanding IS NOT menangani keduanya, termasuk kelompok yang hanya ada di satu sisi.
Rekonsiliasi juga dipakai antarsumber yang dicatat pihak berbeda, misalnya catatan pembayaran toko dan mutasi rekening bank. Pasangkan berdasarkan nomor referensi dengan LEFT JOIN dari kedua arah: referensi yang hanya ada di toko, yang hanya ada di bank, dan yang ada di keduanya tetapi jumlahnya berbeda.
SELECT k.ref, k.jumlah AS di_kas, b.jumlah AS di_bank
FROM kas_kantin k
LEFT JOIN rekening b ON b.ref = k.ref
WHERE b.jumlah IS NOT k.jumlah;