How can we use a MySQL subquery with INSERT statement?


It can be understood with the help of an example in which we would copy the values of a table into other table. We are using the data from table ‘cars’ and copy its data to table ‘copy_cars’ −

mysql> CREATE TABLE copy_cars LIKE cars;
Query OK, 0 rows affected (0.86 sec)

mysql> SELECT * from copy_cars;
Empty set (0.08 sec)

The following query using the subquery will insert the values same as ‘cars’ to table ‘copy_cars’ −

mysql> INSERT INTO Copy_cars Select * from Cars;
Query OK, 8 rows affected (0.07 sec)

mysql> SELECT * from copy_cars;
+------+--------------+---------+
| ID   | Name         | Price   |
+------+--------------+---------+
| 1    | Nexa         | 750000  |
| 2    | Maruti Swift | 450000  |
| 3    | BMW          | 4450000 |
| 4    | VOLVO        | 2250000 |
| 5    | Alto         | 250000  |
| 6    | Skoda        | 1250000 |
| 7    | Toyota       | 2400000 |
| 8    | Ford         | 1100000 |
+------+--------------+---------+
8 rows in set (0.00 sec)

Updated on: 22-Jun-2020

494 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements