INSERT INTO SELECT คืออะไร ตัวอย่าง บทความนี้สอนการเพิ่มข้อมูลด้วย INSERT INTO โดยการ SELECT จากตารางอื่น และกำหนดเงื่อนไขด้วย WHERE ตามขอบเขตข้อมูลที่ต้องการเพิ่ม สามารถเขียนคำสั่ง SQL ได้ดังนี้
ตัวอย่าง ข้อมูลตาราง product และ colors
ตาราง product
+----+--------+
| id | title |
+----+--------+
| 1 | orange |
| 2 | apple |
| 3 | banana |
+----+--------+
ตาราง colors
+----+-------+
| id | title |
+----+-------+
| 1 | red |
| 2 | green |
| 3 | blue |
+----+-------+
ตัวอย่าง INSERT INTO SELECT คืออะไร ตัวอย่าง
INSERT INTO product ( title )
SELECT title FROM colors WHERE ( id IN(1 ,2 ) )
ผลลัพธ์
Query OK, 2 rows affected, 1 warning (0.009 sec)
Records: 2 Duplicates: 0 Warnings: 1
ตาราง product
+----+--------+
| id | title |
+----+--------+
| 1 | orange |
| 2 | apple |
| 3 | banana |
| 4 | red |
| 5 | green |
+----+--------+
INSERT INTO SELECT จากตัวอย่างเป็นการเพิ่มข้อมูลลงตาราง product โดยการ SELECT จากตาราง colors ลักษณะเหมือนกับการย้ายข้อมูลจากตารางหนึ่งมายังอีกตารางหนึ่ง โดยอธิบายคำสั่งได้ดังนี้
1. INSERT INTO product ( title ) คือ เพิ่มข้อมูลลงตาราง product ประกอบด้วย 1 column คือ title
2. SELECT title FROM colors WHERE ( id BETWEEN 1 AND 2 ) คือ ข้อมูลที่จะเพิ่มลงในตาราง product คือ การ SELECT title จากตาราง colors โดยมีเงื่อนไขคือ id ต้องเป็นรหัส 1 กับ 2