ในกรณีนี้ 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)
จากสองตารางข้างต้น เราจะเห็นตาราง 'นักเรียน' มี 6 แถว และค่าของ 'เกรด' คือ 'เฉลี่ย' โดยที่ id =6 และตาราง 'ข้อมูล' มี 5 แถว ตอนนี้แบบสอบถามย่อยที่ใช้ในแบบสอบถามต่อไปนี้จะไม่มีแถวให้ค่าใหม่ในส่วนคำสั่ง 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)