logo

SQL SELECT INTO-instructie

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

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:

SELECT INTO-instructieuitvoer

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

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

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. Invoegen INTO SELECT versus SELECT INTO

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.