El Sentència SQL SELECT INTO s'utilitza per copiar dades d'una taula a una nova.
Nota: Les consultes s'executen a SQL Server i és possible que no funcionin en molts editors SQL en línia, així que és millor utilitzar un editor fora de línia.
Sintaxi
La sintaxi SQL INSERT INTO és:
SELECCIONA columna1, columna2...
A NEW_TABLE de SOURCE_TABLE
ON Condició;pete davidson
Per copiar totes les dades de la taula mitjançant l'ordre INSERT INTO, utilitzeu aquesta sintaxi:
SELECCIONA *
INTO NEW_TABLE de SOURCE_TABLE
ON Condició;
Paràmetre
- NOU_TAULA hauria de tenir el mateix esquema i tipus de dades que SOURCE_TABLE.
- INTO vol dir en quina taula hem de copiar.
- Condició: Una condició és una declaració opcional que us indica quines files heu de triar. Si no especifiqueu cap condició, només escolliu totes les files de la taula original.
SELECT INTO Exemple
Vegem alguns exemples de sentència SELECT INTO en SQL , i entendre com utilitzar-lo.
Primer crearem una taula Client i inserirem algunes dades aleatòries:
CREATE TABLE Customer( CustomerID INT PRIMARY KEY , CustomerName VARCHAR(50), LastName VARCHAR(50), Country VARCHAR(50), Age int(2), Phone int(10) ); -- Insert some sample data into the Customers table INSERT INTO Customer (CustomerID, CustomerName, LastName, Country, Age, Phone) VALUES (1, 'Shubham', 'Thakur', 'India','23','xxxxxxxxxx'), (2, 'Aman ', 'Chopra', 'Australia','21','xxxxxxxxxx'), (3, 'Naveen', 'Tulasi', 'Sri lanka','24','xxxxxxxxxx'), (4, 'Aditya', 'Arpan', 'Austria','21','xxxxxxxxxx'), (5, 'Nishant. Salchichas S.A.', 'Jain', 'Spain','22','xxxxxxxxxx');>
Taula de clients:

Taula de clients
INSERT INTO Exemple de sentència
En aquest exemple, crearem una taula de còpia de seguretat del client i després inserirem dades en aquesta taula mitjançant la instrucció SELECT INTO.
Consulta:
CREATE TABLE backUpCustomer ( CustomerID INTEGER PRIMARY KEY AUTOINCREMENT, CustomerName VARCHAR(50), LastName VARCHAR(50), Country VARCHAR(50), Age INT, Phone VARCHAR(10) ); INSERT INTO backUpCustomer (CustomerName, LastName, Country, Age, Phone) SELECT CustomerName, LastName, Country, Age, Phone FROM Customer; SELECT * FROM backUpCustomer ;>
Sortida:

Còpia de seguretat de la taula de clients
Consulta
int a la cadena
Utilitzar el clàusula ‘on’ per copiar només algunes files del client a la taula backUpCustomer.
CREATE TABLE OtherTable ( CustomerID INTEGER PRIMARY KEY AUTOINCREMENT, CustomerName VARCHAR(50), LastName VARCHAR(50), Country VARCHAR(50), Age INT, Phone VARCHAR(10) ); INSERT INTO OtherTable (CustomerName, LastName, Country, Age, Phone) SELECT CustomerName, LastName, Country, Age, Phone FROM Customer WHERE Country = 'India';>
Sortida

sortida
convertir cadena a int java
Consulta
Per copiar només algunes columnes del client a la taula backUpCustomer, especifiqueu-les a la consulta.
CREATE TABLE backUpCustomers ( CustomerName VARCHAR(50), LastName VARCHAR(50), Age INT ); INSERT INTO backUpCustomers (CustomerName, LastName, Age) SELECT CustomerName, LastName, Age FROM Customer; SELECT * FROM backUpCustomers;>
Sortida

Sortida
Insereix INTO SELECT vs SELECT INTO
Ambdues declaracions es podrien utilitzar per copiar dades d'una taula a una altra. Però INSERT INTO SELECT només es pot utilitzar si la taula de destinació existeix, mentre que la instrucció SELECT INTO es pot utilitzar fins i tot si la taula de destinació no existeix, ja que crea la taula de destinació si no existeix.
INSERT INTO backUpCustomer select * from Customer;>
AQUÍ la taula tempTable hauria d'estar present o creada prèviament, si no hi ha un error. 
SELECT * INTO backUpCustomer from Customer;>
Aquí no és necessari que existeixi abans, ja que SELECT INTO crea una taula si la taula no existeix i després copia les dades.