Pernyataan insert sebenarnya memiliki sintaks untuk melakukan hal itu. Jauh lebih mudah jika Anda menentukan nama kolom daripada memilih "*":
INSERT INTO new_table (Foo, Bar, Fizz, Buzz)
SELECT Foo, Bar, Fizz, Buzz
FROM initial_table
-- optionally WHERE ...
Sebaiknya saya mengklarifikasi ini karena untuk beberapa alasan postingan ini mendapatkan sedikit suara.
Sintaks INSERT INTO ... SELECT FROM adalah ketika tabel yang Anda masukkan ("new_table" dalam contoh saya di atas) sudah ada. Seperti yang dikatakan orang lain, sintaks SELECT ... INTO adalah ketika Anda ingin membuat tabel baru sebagai bagian dari perintah.
Anda tidak menentukan apakah tabel baru perlu dibuat sebagai bagian dari perintah, jadi INSERT INTO ... SELECT FROM akan baik-baik saja jika tabel tujuan Anda sudah ada.