在SQL世界中,强大的INSERT INTO SELECT语句是一种有效的方法,用于将数据从一个表转移到另一个表,而无需影响目标表原有的数据。其基本语法包括将所有列(INSERT INTO table2 SELECT * FROM table1)或指定列(INSERT INTO table2 (column_name(s)) SELECT column_name(s) FROM table1)从源表复制到目标表。下面,我们通过实际操作来了解如何使用这个语句。
例如,使用Northwind数据库中的"Customers"和"Suppliers"表。"Customers"表包含了如下的数据:
CustomerID
CustomerName
ContactName
Address
City
PostalCode
Country
1
Alfreds Futterkiste
Maria Anders
Obere Str. 57
Berlin
12209
Germany
2
Ana Trujillo Emparedados y helados
Ana Trujillo
Avda. de la Constitución 2222
México D.F.
05021
Mexico
...
而"Suppliers"表的示例数据是:
SupplierID
SupplierName
ContactName
Address
City
Postal Code
Country
Phone
1
Exotic Liquid
Charlotte Cooper
49 Gilbert St.
London
aEC1 4SD
UK
(171) 555-2222
2
New Orleans Cajun Delights
Shelley Burke
P.O. Box 78934
New Orleans
70117
USA
(100) 555-4822
...
要将"Suppliers"表的"SupplierName"和"Country"列插入到"Customers"表,可以使用如下SQL语句:
INSERT INTO Customers (CustomerName, Country) SELECT SupplierName, Country FROM Suppliers;
而如果只想将德国供应商的信息添加到"Customers"表中,可以这样操作:
INSERT INTO Customers (CustomerName, Country) SELECT SupplierName, Country FROM Suppliers WHERE Country='Germany';
通过这些实例,你可以看到如何灵活运用INSERT INTO SELECT语句在不同场景下进行数据迁移。
温馨提示:答案为网友推荐,仅供参考