SELECT INTO komutu, verileri bir tablodan yeni bir tabloya kopyalar.
SELECT INTO Syntax
Tüm sütunları yeni bir tabloya kopyalayalım:
SELECT * INTO yeni_tablo [IN diğer_veritabani] FROM eski_tablo WHERE koşul;
Yalnızca bazı sütunları yeni bir tabloya kopyalayalım:
SELECT sütun1, sütun2, sütun3, ... INTO yeni_tablo [IN diğer_veritabani] FROM eski_tablo WHERE koşul;
Yeni tablodaki sütun adları ve türleri, eski tabloda tanımlandığı gibi oluşturulacaktır. AS ifadesini kullanarak yeni sütun adları oluşturabilirsiniz.
SELECT INTO Örneği
Aşağıdaki SQL kodu, Müşteriler tablosunun yedek bir kopyasını oluşturur:
SELECT * INTO YedekCustomers2023 FROM Customers;
Aşağıdaki SQL kodu, tabloyu başka bir veritabanındaki yeni bir tabloya kopyalamak için IN ifadesini kullanır:
SELECT * INTO YedekCustomers2023 IN 'Yedek.mdb' FROM Customers;
Aşağıdaki SQL kodu, yalnızca birkaç sütunu yeni bir tabloya kopyalar:
SELECT CustomerName, ContactName INTO YedekCustomers2023 FROM Customers;
Aşağıdaki SQL kodu, yalnızca Almanya’daki müşterileri yeni bir tabloya kopyalar:
SELECT * INTO CustomersGermany FROM Customers WHERE Country = 'Germany';
Aşağıdaki SQL kodu, birden fazla tablodaki verileri yeni bir tabloya kopyalar:
SELECT Customers.CustomerName, Orders.OrderID INTO YedekCustomersOrder2023 FROM Customers LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID;
Not: SELECT INTO komutu, başka bir şema kullanılarak yeni, boş bir tablo oluşturmak için de kullanılabilir. Sorgunun hiçbir veri döndürmemesine neden olan bir WHERE koşulu eklemeniz yeterlidir:
SELECT * INTO yeni_tablo FROM eski_tablo WHERE 1 = 0;