INSERT INTO SELECT komutu, bir tablodaki verileri kopyalar ve başka bir tabloya ekler.
INSERT INTO SELECT komutu, kaynak ve hedef tablolardaki veri türlerinin eşleşmesini gerektirir.
Not: Hedef tablodaki mevcut kayıtlar etkilenmez.
INSERT INTO SELECT Syntax
Bir tablodaki tüm sütunları başka bir tabloya kopyalayın:
INSERT INTO tablo2 SELECT * FROM tablo1 WHERE koşul;
Bir tablodan yalnızca bazı sütunları başka bir tabloya kopyalayın:
INSERT INTO tablo2 (sütun1, sütun2, sütun3, ...) SELECT sütun1, sütun2, sütun3, ... FROM tablo1 WHERE koşul;
INSERT INTO SELECT Örneği
Aşağıdaki SQL kodu “Tedarikçiler”i “Müşteriler” içine kopyalar (verilerle doldurulmayan sütunlar NULL değeri içerecektir):
INSERT INTO Customers (CustomerName, City, Country) SELECT SupplierName, City, Country FROM Suppliers;
Aşağıdaki SQL kodu “Tedarikçiler”i “Müşteriler”e kopyalar (bu işlem tüm sütunları doldurur):
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country) SELECT SupplierName, ContactName, Address, City, PostalCode, Country FROM Suppliers;
Aşağıdaki SQL kodu yalnızca Almanya’daki tedarikçileri “Müşteriler” içine kopyalar:
INSERT INTO Customers (CustomerName, City, Country) SELECT SupplierName, City, Country FROM Suppliers WHERE Country='Germany';