Kursus
Sintaks
Di bawah ini adalah kasus penggunaan umum untuk "INSERT INTO" - saat Anda memasukkan nilai secara manual. Setelah itu diikuti oleh nama tabel dan daftar opsional kolom yang harus diisi dengan data. Kemudian diikuti kata kunci "VALUES" dan nilai aktual yang ingin Anda masukkan.
INSERT INTO table_name (column_a, column_b)
VALUES ("value_a", "value_b");
Masukkan Rekaman DISTINCT ke Tabel Baru
Untuk menyalin data dari tabel yang ada ke tabel baru, Anda dapat menggunakan pola "INSERT INTO SELECT DISTINCT". Setelah "INSERT INTO", Anda menentukan nama tabel target - organizations pada contoh di bawah.
Kemudian Anda memilih kolom yang harus disalin dari tabel sumber – unviversity_professors pada kasus ini. Anda menggunakan kata kunci "DISTINCT" untuk hanya menyalin organisasi yang unik.
INSERT INTO organizations
SELECT DISTINCT organization,
organization_sector
FROM university_professors;
Output: INSERT 0 1287
Output di atas menunjukkan bahwa hanya 1287 rekaman yang dimasukkan ke tabel "organizations".
Di sisi lain, jika Anda menggunakan "INSERT INTO SELECT" tanpa kata kunci "DISTINCT", rekaman duplikat juga akan disalin.
INSERT INTO organizations
SELECT organization,
organization_sector
FROM university_professors;
Output: INSERT 0 1377
Migrasi Data ke Tabel Baru
Mari kita migrasikan data ke tabel baru. Anda akan menggunakan pola berikut:
INSERT INTO ...
SELECT DISTINCT ...
FROM ...;
Ini dapat dipecah menjadi dua bagian:
Bagian pertama:
SELECT DISTINCT column_name1, column_name2, ...
FROM table_a;
Ini memilih semua nilai unik di tabel table_a – tidak ada yang baru bagi Anda.
-- Insert unique professors into the new table
INSERT INTO professors
SELECT DISTINCT firstname, lastname, university_shortname
FROM university_professors;
-- Doublecheck the contents of professors
SELECT *
FROM professors;
Bagian kedua:
INSERT INTO table_b ...;
Ambil bagian ini dan gabungkan dengan yang pertama, sehingga ini memasukkan semua baris unik dari table_a ke table_b.
Satu hal terakhir: Penting untuk menjalankan semua kode secara bersamaan setelah Anda mengisi bagian yang kosong.
-- Insert unique affiliations into the new table
INSERT INTO affiliations
SELECT DISTINCT firstname, lastname, function, organization
FROM university_professors;
-- Doublecheck the contents of affiliations
SELECT *
FROM affiliations;
Untuk mempelajari lebih lanjut tentang basis data relasional di SQL, silakan lihat video dari kursus kami Introduction to Relational Databases in SQL.
Konten ini diambil dari kursus DataCamp Introduction to Relational Databases in SQL oleh Timo Grossenbacher.
