SQL: Menyalin Data Antara Jadual
Tugas SQL yang kerap melibatkan pemindahan data dari satu jadual ke jadual lain. Walaupun sintaks tertentu mungkin berbeza sedikit merentas sistem pangkalan data, pendekatan yang serasi secara amnya menggunakan pernyataan INSERT INTO ... SELECT
.
Sintaks SQL Standard untuk Sisipan Data
Sintaks berikut menyediakan tahap keserasian yang tinggi merentas pelbagai sistem pengurusan pangkalan data (DBMS):
<code class="language-sql">INSERT INTO target_table (column1, column2, ...) SELECT source_column1, source_column2, ... FROM source_table [WHERE condition];</code>
Berikut ialah pecahan:
target_table
: Jadual menerima data baharu.column1, column2, ...
: Lajur dalam target_table
tempat data akan dimasukkan. Pesanan mesti sepadan dengan pernyataan SELECT
.source_column1, source_column2, ...
: Lajur dalam source_table
menyediakan data. Jenis data hendaklah serasi dengan lajur target_table
yang sepadan.source_table
: Jadual yang menyediakan data.WHERE condition
(pilihan): Menapis data daripada source_table
sebelum dimasukkan. Hanya baris yang memenuhi syarat disalin.Keserasian DBMS
Kaedah INSERT INTO ... SELECT
ini secara amnya berfungsi merentasi pelbagai DBMS, termasuk:
Contoh Ilustrasi
Katakan kita mempunyai jadual "pekerja" dan jadual "ringkasan_jabatan". Untuk mengisi department_summary
dengan nama jabatan pekerja:
<code class="language-sql">INSERT INTO department_summary (department_name) SELECT department FROM employees;</code>
Ini memasukkan semua nama jabatan unik daripada jadual employees
ke dalam lajur department_name
jadual department_summary
. Ambil perhatian bahawa nama jabatan pendua hanya akan dimasukkan sekali. Jika anda perlu mengendalikan pendua secara berbeza, anda perlu menambah logik tambahan (cth., menggunakan GROUP BY
dan fungsi agregat).
Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Data dari Satu Jadual ke Jadual Lain Menggunakan Sintaks SQL Standard?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!