Rumah > pangkalan data > SQL > Penggunaan sisipan ke dalam pilih

Penggunaan sisipan ke dalam pilih

DDD
Lepaskan: 2023-07-06 16:47:15
asal
34148 orang telah melayarinya

Penggunaan sisipan ke dalam pilih

Dalam pangkalan data hubungan, INSERT INTO SELECT ialah pernyataan SQL biasa yang digunakan untuk memasukkan hasil pertanyaan ke dalam jadual lain. Struktur sintaks ini sangat berguna untuk menyalin data dengan mudah dari satu jadual ke jadual lain, atau untuk menapis dan memasukkan data berdasarkan beberapa syarat.

Struktur sintaks INSERT INTO SELECT adalah seperti berikut:

INSERT INTO 表名 (列1, 列2, 列3, ...)
SELECT 列1, 列2, 列3, ...
FROM 来源表
WHERE 条件;
Salin selepas log masuk

Antaranya, klausa INSERT INTO menentukan jadual sasaran dan lajur sasaran untuk memasukkan data ke dalamnya. Klausa SELECT mentakrifkan jadual untuk memilih data daripada dan menentukan lajur yang hendak dimasukkan ke dalam jadual sasaran. Anda boleh memilih lajur yang sesuai mengikut keperluan supaya semua lajur tidak perlu dimasukkan ke dalam jadual sasaran.

Jadual sumber dalam klausa SELECT merujuk kepada jadual dari mana data akan dipilih. Ia boleh menjadi nama jadual tertentu atau set hasil pertanyaan. Apabila menggunakan INSERT INTO SELECT, anda boleh menyarangkan berbilang pernyataan pertanyaan seperti yang diperlukan untuk memenuhi keperluan pemindahan data dan penapisan.

Klausa WHERE adalah pilihan dan digunakan untuk menapis data yang memenuhi syarat tertentu dalam jadual sumber. Sebagai contoh, anda boleh menggunakan klausa WHERE untuk mengehadkan sisipan hanya baris yang memenuhi syarat tertentu atau menggunakan operator lain (seperti IN, LIKE, dll.) untuk menapis data selanjutnya.

Berikut ialah beberapa contoh penggunaan INSERT INTO SELECT:

Operasi sisip mudah:

Andaikan terdapat dua jadual A dan B. Jadual A mengandungi id lajur, nama dan umur, dan jadual B mengandungi id dan alamat lajur . Untuk memasukkan data daripada jadual A ke dalam lajur yang sepadan dalam jadual B, anda boleh menggunakan pernyataan berikut:

INSERT INTO B (id, address)
SELECT id, name
FROM A;
Salin selepas log masuk

Dengan cara ini, nilai lajur id dalam jadual A akan dimasukkan ke dalam lajur id jadual B, dan nama dalam jadual A Nilai lajur akan dimasukkan ke dalam lajur alamat jadual B. Lajur lain akan diabaikan.

Gunakan klausa WHERE untuk menapis:

Jika anda hanya mahu memasukkan data yang memenuhi syarat tertentu, anda boleh menambah klausa WHERE dalam pernyataan SELECT. Sebagai contoh, untuk hanya memasukkan rekod yang umurnya melebihi 18 dalam jadual A ke dalam jadual B, anda boleh menggunakan pernyataan berikut:

INSERT INTO B (id, address)
SELECT id, name
FROM A
WHERE age > 18;
Salin selepas log masuk

Dengan cara ini, hanya baris yang memenuhi syarat akan dimasukkan ke dalam jadual B.

Memasukkan menggunakan subqueries:

Dalam klausa SELECT, anda juga boleh menggunakan subqueries untuk memilih data. Contohnya, untuk memasukkan baris yang memenuhi syarat ke dalam jadual lain, anda boleh menggunakan pernyataan berikut:

INSERT INTO C (id, address)
SELECT id, address
FROM B
WHERE id IN (SELECT id FROM A WHERE age > 18);
Salin selepas log masuk

Dengan cara ini, mula-mula pilih id yang memenuhi syarat daripada jadual A, dan kemudian pilih rekod yang sepadan daripada jadual B berdasarkan pada id ini, dan Masukkan ke dalam jadual C.

Ringkasan

INSERT INTO SELECT ialah pernyataan SQL yang berkuasa yang boleh menyalin data dengan mudah dari satu jadual ke jadual lain, atau menapis dan memasukkan data berdasarkan beberapa syarat. Fleksibilitinya menjadikannya sangat berguna dalam operasi pangkalan data dunia sebenar.

Atas ialah kandungan terperinci Penggunaan sisipan ke dalam pilih. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan