Los últimos tutoriales de desarrollo web
 

SQL Declaración INSERT INTO SELECT


Con SQL, puede copiar información de una tabla a otra.

La copia de datos de sentencias INSERT INTO SELECT de una tabla y lo inserta en una tabla existente.


La instrucción SQL INSERT INTO SELECT

La instrucción INSERT INTO SELECT selecciona datos de una tabla y lo inserta en una tabla existente. Cualquier filas existentes en la tabla de destino no se ven afectadas.

SQL INSERT INTO SELECT Sintaxis

Podemos copiar todas las columnas de una tabla a otra, tabla existente:

INSERT INTO table2
SELECT * FROM table1;

O podemos copiar sólo las columnas que queremos en otro, tabla existente:

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

Base de datos de demostración

En este tutorial vamos a utilizar la base de datos Neptuno conocido.

A continuación se muestra una selección de la "Customers" tabla:

Identificación del cliente Nombre del cliente Nombre de contacto Dirección Ciudad Código postal País
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitucion 2222 Mexico D.F. 05021 Mexico
3 Antonio Moreno Taqueria Antonio Moreno Mataderos 2312 Mexico D.F. 05023 Mexico

Y una selección de la "Suppliers" tabla:

Identificación del proveedor Nombre del proveedor Nombre de contacto Dirección Ciudad código postal País Teléfono
1 líquido exótica Charlotte Cooper 49 Gilbert St. Londona EC1 4SD Reino Unido (171) 555-2222
2 New Orleans Cajun Delights Burke Shelley PO Box 78934 Nueva Orleans 70117 Estados Unidos (100) 555-4822
3 Homestead de la abuela Kelly Regina Murphy 707 Oxford Rd. Ann Arbor 48104 Estados Unidos (313) 555-5735

Ejemplos de SQL INSERT INTO SELECT

Copiar sólo unas pocas columnas de "Suppliers" en "Customers" :

Ejemplo

INSERT INTO Customers (CustomerName, Country)
SELECT SupplierName, Country FROM Suppliers;
Inténtalo tú mismo "

Copiar sólo los proveedores alemanes en "Customers" :

Ejemplo

INSERT INTO Customers (CustomerName, Country)
SELECT SupplierName, Country FROM Suppliers
WHERE Country='Germany';
Inténtalo tú mismo "