एक MySQL टेबल के मानों को दूसरे MySQL टेबल के मानों का उपयोग करके अपडेट करने के लिए, हमें UPDATE स्टेटमेंट के SET क्लॉज में सबक्वेरी को एक्सप्रेशन के रूप में उपयोग करने की आवश्यकता है।
उदाहरण
इस उदाहरण में, हमारे पास 'student' और 'info' दो टेबल हैं। हम 'student' टेबल के 'grade' कॉलम के मान को 'info' टेबल के 'remarks' कॉलम के मानों का उपयोग करके अपडेट करेंगे।
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
उपरोक्त क्वेरी, सबक्वेरी की मदद से, 'student' टेबल के grade कॉलम के मानों को अपडेट करती है। इसे निम्नलिखित 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)