อย่างที่เราทราบดีว่าฟังก์ชัน IFNULL() จะคืนค่าอาร์กิวเมนต์แรกหากไม่ใช่ NULL มิฉะนั้นจะคืนค่าอาร์กิวเมนต์ที่สอง ในทางกลับกัน ฟังก์ชัน COALESCE() จะส่งคืนอาร์กิวเมนต์ที่ไม่ใช่ NULL ตัวแรก ที่จริงแล้ว ทั้งฟังก์ชัน IFNULL() และ COALESCE() ใน MySQL ทำงานเท่าเทียมกันหากจำนวนอาร์กิวเมนต์เป็นสองเท่านั้น เหตุผลเบื้องหลังคือฟังก์ชัน IFNULL() ยอมรับเพียงสองอาร์กิวเมนต์ และในทางตรงกันข้าม ฟังก์ชัน COALESCSE() สามารถยอมรับอาร์กิวเมนต์จำนวนเท่าใดก็ได้
สมมติว่าถ้าเราต้องการใช้ฟังก์ชัน IFNULL() ที่ตำแหน่งของฟังก์ชัน COALESCE() จำนวนอาร์กิวเมนต์ต้องเป็นสอง ตัวอย่างต่อไปนี้จะแสดงให้เห็น -
mysql> Select IFNULL(NULL, 'Green'); +-----------------------+ | IFNULL(NULL, 'Green') | +-----------------------+ | Green | +-----------------------+ 1 row in set (0.00 sec) mysql> Select COALESCE(NULL, 'Green'); +-------------------------+ | COALESCE(NULL, 'Green') | +-------------------------+ | Green | +-------------------------+ 1 row in set (0.00 sec)