อัปเดตค่า NULL ให้กลายเป็นค่า Default
รวม COALESCE() กับ UPDATE ... WHERE
ข้อมูลก่อน: Salary เป็น NULL สำหรับ ID 5, 6
+----+--------+--------+
| ID | Name | Salary |
+----+--------+--------+
| 1 | Gaurav | 50000 |
| 2 | Rahul | 20000 |
| 3 | Advik | 25000 |
| 4 | Aarav | 65000 |
| 5 | Ram | NULL |
| 6 | Mohan | NULL |
+----+--------+--------+
คำสั่ง UPDATE
UPDATE Employee SET Salary = COALESCE(Salary, 20000) WHERE Id = 5;
UPDATE Employee SET Salary = COALESCE(Salary, 30000) WHERE Id = 6;
ข้อมูลหลัง UPDATE
+----+--------+--------+
| ID | Name | Salary |
+----+--------+--------+
| 1 | Gaurav | 50000 |
| 2 | Rahul | 20000 |
| 3 | Advik | 25000 |
| 4 | Aarav | 65000 |
| 5 | Ram | 20000 |
| 6 | Mohan | 30000 |
+----+--------+--------+
การทำงาน
COALESCE(Salary, 20000): ถ้า Salary ไม่ใช่ NULL ใช้ค่าเดิม, ถ้า NULL ใช้ 20000WHERE Id = 5: จำกัดเฉพาะแถวที่ต้องการ- ID 1-4: Salary มีค่าแล้ว → COALESCE คืนค่าเดิม → ไม่เปลี่ยนแปลง
ประโยชน์
- อัปเดตเฉพาะ NULL ไม่ทับค่าที่มีอยู่
- เขียนสั้นกว่า CASE WHEN
- ทำได้ใน Statement เดียว