इस मामले में, MySQL SET क्लॉज को NULL मान प्रदान करेगा। निम्नलिखित उदाहरण इसे प्रदर्शित करेगा -
उदाहरण
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)