Easy Tutorial
❮ Sql Tutorial Sql And Or ❯

SQL INSERT INTO SELECT Statement


Using SQL, you can copy information from one table to another.

The INSERT INTO SELECT statement copies data from one table and then inserts it into an existing table.


SQL INSERT INTO SELECT Statement

The INSERT INTO SELECT statement copies data from one table and then inserts it into an existing table. Existing rows in the target table are not affected.

SQL INSERT INTO SELECT Syntax

We can copy all columns from one table into another existing table:

INSERT INTO table2
SELECT * FROM table1;

Or we can copy only the desired columns into another existing table:

INSERT INTO table2
(column_name(s))
SELECT column_name(s)
FROM table1;

Demo Database

In this tutorial, we will use the tutorialpro sample database.

Below is the data from the "Websites" table:

+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1  | Google       | https://www.google.cm/    | 1     | USA     |
| 2  | Taobao       | https://www.taobao.com/   | 13    | CN      |
| 3  | tutorialpro.org      | http://www.tutorialpro.org/    | 4689  | CN      |
| 4  | Weibo        | http://weibo.com/         | 20    | CN      |
| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |
| 7  | Stackoverflow | http://stackoverflow.com/ |   0 | IND     |
+----+---------------+---------------------------+-------+---------+

Below is the data from the "apps" table:

mysql> SELECT * FROM apps;
+----+------------+-------------------------+---------+
| id | app_name   | url                     | country |
+----+------------+-------------------------+---------+
|  1 | QQ APP     | http://im.qq.com/       | CN      |
|  2 | Weibo APP  | http://weibo.com/       | CN      |
|  3 | Taobao APP | https://www.taobao.com/ | CN      |
+----+------------+-------------------------+---------+
3 rows in set (0.00 sec)

SQL INSERT INTO SELECT Example

Copy data from the "apps" table into the "Websites" table:

Example

INSERT INTO Websites (name, country)
SELECT app_name, country FROM apps;

Copy only the data with id=1 from the "apps" table into the "Websites" table:

Example

INSERT INTO Websites (name, country)
SELECT app_name, country FROM apps 
WHERE id=1;
❮ Sql Tutorial Sql And Or ❯