De SQL SELECT INTO-instructie wordt gebruikt om gegevens van de ene tabel naar een nieuwe tabel te kopiëren.
Opmerking: De query's worden uitgevoerd in SQL Server en werken mogelijk niet in veel online SQL-editors, dus u kunt beter een offline editor gebruiken.
Syntaxis
SQL INSERT INTO-syntaxis is:
SELECTEER kolom1, kolom2…
IN NEW_TABLE van SOURCE_TABLE
WAAR Conditie;
Om de volledige gegevens van de tabel te kopiëren met de opdracht INSERT INTO, gebruikt u deze syntaxis:
SELECTEER *
NAAR NEW_TABLE vanuit SOURCE_TABLE
WAAR Conditie;
Parameter
- NIEUWE_TABEL moet hetzelfde schema en gegevenstype hebben als die SOURCE_TABLE.
- NAAR BINNEN betekent in welke tabel we moeten kopiëren.
- Voorwaarde: Een voorwaarde is een optionele instructie die u vertelt welke rijen u moet kiezen. Als u geen voorwaarde opgeeft, kiest u gewoon alle rijen uit de oorspronkelijke tabel.
SELECT INTO Voorbeeld
Laten we eens kijken naar enkele voorbeelden van de SELECT INTO-verklaring in SQL en begrijp hoe u het moet gebruiken.
Eerst maken we een tabel Klant en voegen we enkele willekeurige gegevens in:
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');>
Klantentabel:

Klantentafel
mijnlivericket
INSERT INTO-verklaringsvoorbeeld
In dit voorbeeld maken we een back-upKlanttabel en vervolgens voegen we gegevens in die tabel in met behulp van de SELECT INTO-instructie.
Vraag:
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 ;>
Uitgang:

backUp Klantentabel
Vraag
pete davidson leeftijd
Gebruik de ‘waar’-clausule om slechts enkele rijen van Customer naar de backUpCustomer-tabel te kopiëren.
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';>
Uitvoer

uitgang
Vraag
Als u slechts enkele kolommen van Klant naar de backUpCustomer-tabel wilt kopiëren, geeft u deze op in de query.
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;>
Uitvoer

Uitvoer
Invoegen INTO SELECT versus SELECT INTO
Beide instructies kunnen worden gebruikt om gegevens van de ene tabel naar de andere te kopiëren. Maar INSERT INTO SELECT kan alleen worden gebruikt als de doeltabel bestaat, terwijl de SELECT INTO-instructie zelfs kan worden gebruikt als de doeltabel niet bestaat, omdat deze de doeltabel maakt als deze niet bestaat.
INSERT INTO backUpCustomer select * from Customer;>
HIER tabel tempTable moet aanwezig zijn of vooraf aangemaakt zijn, anders ontstaat er een fout. 
SELECT * INTO backUpCustomer from Customer;>
Hier is het niet nodig om eerder te bestaan, omdat SELECT INTO een tabel maakt als de tabel niet bestaat en vervolgens de gegevens kopieert.