All Our Services
W3Schools offers a wide range of services and products for beginners and professionals,
helping millions of people everyday to learn and master new skills.
The SQL INSERT INTO SELECT Statement
The
INSERT INTO SELECT
statement copies data from one table and
inserts it into another table.
The
INSERT INTO SELECT
statement requires that
the data types in source and target tables match.
Note:
The existing records in the target table are unaffected.
INSERT INTO SELECT Syntax
Copy all columns from one table to another table:
INSERT INTO
table2
SELECT * FROM
table1
WHERE
condition
;
Copy only some columns from one table into another table:
INSERT INTO
table2
(
column1
,
column2
,
column3
, ...)
SELECT
column1
,
column2
,
column3
, ...
FROM
table1
WHERE
condition
;
Demo Database
In this tutorial we will use the well-known Northwind sample database.
Below is a selection from the "Customers" table:
CustomerID
CustomerName
ContactName
Address
PostalCode
Country
Alfreds Futterkiste
Maria Anders
Obere Str. 57
Berlin
12209
Germany
Ana Trujillo Emparedados y helados
Ana Trujillo
Avda. de la Constitución 2222
México D.F.
05021
Mexico
Antonio Moreno Taquería
Antonio Moreno
Mataderos 2312
México D.F.
05023
Mexico
SQL INSERT INTO SELECT Examples
The following SQL statement copies "Suppliers" into "Customers" (the columns
that are not filled with data, will contain NULL):
Example
INSERT INTO Customers (CustomerName,
City, Country)
SELECT SupplierName, City, Country FROM Suppliers;
Try it Yourself »
The following SQL statement copies "Suppliers" into "Customers" (fill all
columns):
Example
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode,
Country)
SELECT SupplierName, ContactName, Address, City, PostalCode,
Country FROM Suppliers;
Try it Yourself »
The following SQL statement copies only the German suppliers into "Customers":
Example
INSERT INTO Customers (CustomerName,
City, Country)
SELECT SupplierName, City, Country FROM Suppliers
WHERE Country='Germany';
Try it Yourself »
Report Error
If you want to report an error, or if you want to make a suggestion, do not hesitate to send us an e-mail:
[email protected]
W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning.
Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness
of all content. While using W3Schools, you agree to have read and accepted our
terms of use
,
cookie and privacy policy
.
W3Schools is Powered by W3.CSS
.