Dalam pangkalan data, pernyataan INSERT INTO SELECT digunakan untuk memasukkan hasil pertanyaan ke dalam jadual lain. Pernyataan INSERT INTO SELECT boleh menyalin kandungan satu jadual ke jadual lain dengan mudah atau mencipta jadual baharu berdasarkan hasil pertanyaan.
Sintaks INSERT INTO SELECT adalah seperti berikut:
INSERT INTO table2 (column1, column2, column3, ...) SELECT column1, column2, column3, ... FROM table1 WHERE condition;
Pernyataan ini bermaksud memasukkan nilai lajur1, lajur2, lajur3 dan lajur baris lain yang memenuhi syarat tertentu dalam jadual1 ke dalam lajur yang sepadan dalam jadual2.
Berikut adalah contoh praktikal untuk menggambarkan penggunaan INSERT INTO SELECT.
Katakan kita mempunyai dua jadual: pelajar dan pelajar_baru. Jadual pelajar mengandungi lajur berikut: id, nama, umur, skor. Kami ingin memasukkan pelajar yang berumur 18 tahun ke atas dalam jadual pelajar ke dalam jadual pelajar_baru.
Mula-mula, kami mencipta jadual pelajar dan memasukkan beberapa data sampel:
CREATE TABLE students ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), age INT, score INT ); INSERT INTO students (name, age, score) VALUES ('John', 16, 90), ('Alice', 20, 95), ('Tom', 18, 85), ('Emily', 17, 88);
Seterusnya, kami mencipta jadual pelajar_baru:
CREATE TABLE new_students ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), age INT, score INT );
Akhir sekali, kami menggunakan pernyataan INSERT INTO SELECT untuk memasukkan pelajar yang berumur 18 tahun ke atas dalam pelajar table into new_students Dalam jadual:
INSERT INTO new_students (name, age, score) SELECT name, age, score FROM students WHERE age >= 18;
Dengan cara ini, jadual new_students mengandungi maklumat pelajar berumur 18 tahun ke atas dalam jadual pelajar.
Selain memasukkan terus hasil pertanyaan ke dalam jadual lain, pernyataan INSERT INTO SELECT juga boleh digunakan untuk mencipta jadual baharu yang mengandungi hanya hasil pertanyaan:
CREATE TABLE new_table AS SELECT column1, column2, ... FROM table WHERE condition;
Dengan cara ini, new_table akan dibuat dan mengandungi hasil pertanyaan.
Ringkasan
Pernyataan INSERT INTO SELECT memilih baris tertentu dalam satu jadual (atau hasil pertanyaan) dan memasukkannya ke dalam jadual lain (atau mencipta jadual baharu). Fungsi ini sangat berkuasa dan boleh menyalin, menapis dan membuat jadual baharu dengan mudah.
Atas ialah kandungan terperinci Penggunaan sisipan ke dalam sintaks pilih. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!