logo

Instrukcja SQL SELECT INTO

The Instrukcja SQL SELECT INTO służy do kopiowania danych z jednej tabeli do nowej tabeli.

Notatka: Zapytania są wykonywane w SQL Server i mogą nie działać w wielu edytorach SQL online, więc lepiej użyj edytora offline.



Składnia

Składnia SQL INSERT INTO jest następująca:

WYBIERZ kolumnę 1, kolumnę 2…
W NOWEJ TABELI z SOURCE_TABLE
GDZIE Warunek;

Aby skopiować całe dane z tabeli za pomocą polecenia INSERT INTO, użyj następującej składni:



WYBIERAĆ *
DO NEW_TABLE z SOURCE_TABLE
GDZIE Warunek;

znak na ciąg

Parametr

  • NOWA_TABELA powinien mieć ten sam schemat i typy danych co SOURCE_TABLE.
  • DO oznacza, w której tabeli musimy skopiować.
  • Stan : schorzenie: Warunek to opcjonalna instrukcja, która informuje, które wiersze wybrać. Jeśli nie określisz warunku, po prostu wybierzesz wszystkie wiersze z oryginalnej tabeli.

WYBIERZ W przykładzie

Spójrzmy na kilka przykładów SELECT INTO instrukcja w SQLu i zrozumieć, jak z niego korzystać.

Najpierw utworzymy tabelę Klient i wstawimy losowe dane:



  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');>

Tabela klientów:

Tabela klientów

Tabela klientów

INSERT INTO Przykład instrukcji

W tym przykładzie utworzymy zapasową tabelę klientów, a następnie wstawimy dane do tej tabeli za pomocą instrukcji SELECT INTO.

typy sieci

Zapytanie:

  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 ;>

Wyjście:

Dane wyjściowe instrukcji SELECT INTO

Utwórz kopię zapasową tabeli klientów

pytania do rozmowy kwalifikacyjnej w Javie

Zapytanie

Użyj klauzula „gdzie”. aby skopiować tylko niektóre wiersze z tabeli Customer do tabeli 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';>

Wyjście

Wyjście

wyjście

Zapytanie

Aby skopiować tylko niektóre kolumny z Customer do tabeli backUpCustomer, określ je w zapytaniu.

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;>

Wyjście

Wyjście

Wyjście

Przerzutnik typu T

Wstaw INTO SELECT vs SELECT INTO

Obie instrukcje mogą służyć do kopiowania danych z jednej tabeli do drugiej. Ale INSERT INTO SELECT można zastosować tylko wtedy, gdy istnieje tabela docelowa, natomiast instrukcji SELECT INTO można użyć nawet jeśli tabela docelowa nie istnieje, ponieważ tworzy tabelę docelową, jeśli nie istnieje.

INSERT INTO backUpCustomer select * from Customer;>

TUTAJ tabela tempTable powinna być obecna lub utworzona wcześniej, w przeciwnym razie zgłosi błąd. Wstaw INTO SELECT vs SELECT INTO

SELECT * INTO backUpCustomer from Customer;>

Tutaj nie jest konieczne istnienie wcześniej, ponieważ SELECT INTO tworzy tabelę, jeśli tabela nie istnieje, a następnie kopiuje dane.