किसी अन्य MySQL तालिका के मानों का उपयोग करके एक MySQL तालिका में मानों को अद्यतन करने के लिए, हमें UPDATE कथन के SET खंड में एक अभिव्यक्ति के रूप में उप-क्वेरी का उपयोग करने की आवश्यकता है।
उदाहरण
इस उदाहरण में, हमारे पास दो टेबल 'छात्र' और 'जानकारी' हैं। हम 'जानकारी' तालिका के कॉलम 'टिप्पणी' के मानों का उपयोग करके तालिका 'छात्र' के कॉलम 'ग्रेड' के मूल्य को अपडेट करेंगे।
mysql> select * from student; +----+---------+-------+ | Id | Name | grade | +----+---------+-------+ | 1 | Rahul | NULL | | 2 | Gaurav | NULL | | 3 | Raman | NULL | | 4 | Harshit | NULL | | 5 | Aarav | NULL | +----+---------+-------+ 5 rows in set (0.01 sec) mysql> select * from info; +------+-----------+ | id | remarks | +------+-----------+ | 1 | Good | | 2 | Good | | 3 | Excellent | | 4 | Average | | 5 | Best | +------+-----------+ 5 rows in set (0.00 sec) mysql> UPDATE STUDENT SET grade = (SELECT remarks from info WHERE info.id = student.id) WHERE id > 0; Query OK, 5 rows affected (0.08 sec) Rows matched: 5 Changed: 5 Warnings: 0
उपरोक्त क्वेरी, उप-क्वेरी की सहायता से, 'छात्र' तालिका के ग्रेड कॉलम में मानों को अद्यतन करती है। इसे MySQL क्वेरी का अनुसरण करके लौटाए गए परिणाम सेट से देखा जा सकता है।
mysql> Select * from student; +----+---------+-----------+ | Id | Name | grade | +----+---------+-----------+ | 1 | Rahul | Good | | 2 | Gaurav | Good | | 3 | Raman | Excellent | | 4 | Harshit | Average | | 5 | Aarav | Best | +----+---------+-----------+ 5 rows in set (0.00 sec)