ในกรณีนี้ MySQL จะส่งค่า NULL ให้กับเงื่อนไข SET ตัวอย่างด้านล่างจะสาธิต:
ตัวอย่าง
mysql> SELECT * FROM student; +----+---------+-----------+ | Id | Name | grade | +----+---------+-----------+ | 1 | Rahul | Good | | 2 | Gaurav | Good | | 3 | Raman | Excellent | | 4 | Harshit | Average | | 5 | Aarav | Best | | 6 | Ram | average | +----+---------+-----------+ 6 rows in set (0.00 sec) mysql> SELECT * FROM info; +------+-----------+ | id | remarks | +------+-----------+ | 1 | Good | | 2 | Good | | 3 | Excellent | | 4 | Average | | 5 | Best | +------+-----------+ 5 rows in set (0.00 sec)
ตาราง student มี 6 แถว ค่า grade เป็น average ที่ id = 6 ส่วนตาราง info มี 5 แถว ตอนนี้ sub-query ในคำสั่งต่อไปจะไม่คืนแถวใดๆ ให้ SET จึงจะใส่ค่า NULL สามารถตรวจสอบได้จากผลลัพธ์:
mysql> UPDATE STUDENT SET grade = (SELECT remarks FROM info WHERE info.id = student.id) WHERE id = 6; Query OK, 1 row affected (0.04 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> SELECT * FROM student; +----+---------+-----------+ | Id | Name | grade | +----+---------+-----------+ | 1 | Rahul | Good | | 2 | Gaurav | Good | | 3 | Raman | Excellent | | 4 | Harshit | Average | | 5 | Aarav | Best | | 6 | Ram | NULL | +----+---------+-----------+ 6 rows in set (0.00 sec)