이 경우 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)
위의 두 테이블에서 우리는 'student' 테이블이 6개의 행을 가지고 있고 'grade'의 값이 'average'인 것을 볼 수 있습니다. 여기서 id =6이고 'info' 테이블은 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)