สามารถนำผลลัพธ์จาก SELECT ไป INSERT ลงตารางอื่นได้โดยไม่ต้องใช้ VALUES รูปแบบ:
INSERT INTO targetTable (col1, col2, ...)
SELECT col1, col2, ... FROM sourceTable WHERE condition;
ตัวอย่าง: คัดลอกข้อมูลระหว่างตาราง
สร้างตารางปลายทาง (ว่าง) และต้นทาง (มีข้อมูล):
mysql> CREATE TABLE FirstTableDemo (StudentId INT, StudentName VARCHAR(100));
mysql> CREATE TABLE SecondTableDemo (Id INT, Name VARCHAR(100));
mysql> INSERT INTO SecondTableDemo VALUES (1,'John'), (2,'Sam');
คัดลอกข้อมูลที่ยังไม่มีในตารางปลายทาง
mysql> INSERT INTO FirstTableDemo (StudentId, StudentName)
-> SELECT Id, Name FROM SecondTableDemo AS tbl1
-> WHERE tbl1.Id NOT IN (SELECT StudentId FROM FirstTableDemo);
ผลลัพธ์: คัดลอก 2 เรคคอร์ดเข้า FirstTableDemo
ประโยชน์: เหมาะสำหรับย้ายข้อมูล, สำรองข้อมูล, หรือสร้างตารางสรุปจากข้อมูลดิบ