SQL - Insert Into Select: Panduan Komprehensif untuk Pemula

Halo, para entusiastis SQL yang sedang berkembang! Saya sangat senang menjadi panduan Anda dalam perjalanan yang menarik ke dunia pernyataan Insert Into Select di SQL. Sebagai seseorang yang telah mengajar ilmu komputer selama tahun tahun, saya dapat menjamin Anda bahwa menguasai konsep ini akan menjadi perubahan besar dalam keterampilan manajemen database Anda. Jadi, mari kita masuk ke dalamnya!

SQL - Insert Into Select

Pernyataan Insert Into... Select: Teman Baru Data Anda

Apa Itu?

Pernyataan Insert Into Select adalah seperti tongkat sihir di SQL. Itu memungkinkan Anda menyalin data dari satu tabel dan memasukkannya ke tabel lain dalam gerakan cepat. Bayangkan Anda pindah ke rumah baru - bukan mengangkat setiap item satu per satu, Anda menggunakan truk pindah untuk mentransfer semua barang sekaligus. Itu apa yang Insert Into Select lakukan untuk data Anda!

Sintaks Dasar

mari kita mulai dengan struktur dasar:

INSERT INTO table2 (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM table1
WHERE condition;

Ini adalah apa yang dilakukan setiap bagian:

  • INSERT INTO table2: Ini adalah tempat Anda memindahkan data Anda.
  • (column1, column2, column3, ...): Ini adalah kolom di tabel Anda yang baru.
  • SELECT: Ini adalah tempat Anda memilih data apa yang hendak dipindahkan.
  • FROM table1: Ini adalah sumber data Anda.
  • WHERE condition: Ini opsional, tetapi memungkinkan Anda menyaring data apa yang hendak dipindahkan.

Contoh Sederhana

Ayo katakan kita memiliki dua tabel: old_employees dan new_employees. Kita ingin memindahkan semua karyawan yang berusia lebih dari 30 ke tabel baru.

INSERT INTO new_employees (id, name, age, department)
SELECT id, name, age, department
FROM old_employees
WHERE age > 30;

Perintah ini akan menyalin semua karyawan berusia lebih dari 30 dari tabel old_employees ke tabel new_employees. Itu seperti mengatakan ke semua karyawan 30+,"Hey, Anda pindah ke kantor baru!"

SQL - Memasukkan Record Tertentu: Memilih Data Anda

kadang-kadang, Anda mungkin tidak ingin memindahkan semuanya. Anda mungkin hanya ingin memilih record tertentu. Mari kita jelajahi bagaimana melakukan itu!

Contoh 1: Memasukkan Berdasarkan Beberapa Kondisi

Bayangkan kita ingin memindahkan hanya karyawan departemen IT yang berusia lebih dari 25 ke tabel it_team yang baru.

INSERT INTO it_team (id, name, age)
SELECT id, name, age
FROM old_employees
WHERE department = 'IT' AND age > 25;

Ini seperti mengatakan, "Jika Anda di IT dan berusia lebih dari 25, selamat datang di tim baru!"

Contoh 2: Menggunakan Kondisi OR

Ayo katakan kita ingin memindahkan karyawan yang berada di departemen IT atau HR.

INSERT INTO new_department (id, name, department)
SELECT id, name, department
FROM old_employees
WHERE department = 'IT' OR department = 'HR';

Ini seperti mengumumkan, "Karyawan IT dan HR, Anda semua pindah ke lantai baru!"

SQL - Memasukkan Baris Teratas N: Tratemen VIP

kadang-kadang, Anda mungkin hanya ingin memindahkan jumlah baris tertentu. SQL menawarkan solusi dengan klausa TOP (atau LIMIT di beberapa basis data).

Contoh: Memindahkan 5 Karyawan Tertinggi Gaji

INSERT INTO top_earners (id, name, salary)
SELECT TOP 5 id, name, salary
FROM employees
ORDER BY salary DESC;

Ini seperti membuat "Wall of Fame" bagi 5 earner terbaik Anda!

Sintaks yang Berbeda untuk Basis Data yang Berbeda

Basis data sistem yang berbeda mungkin menggunakan sintaks sedikit berbeda untuk ini. Berikut adalah tabel praktis:

Sistem Basis Data Sintaks
SQL Server SELECT TOP 5 ...
MySQL SELECT ... LIMIT 5
Oracle SELECT ... WHERE ROWNUM <= 5
PostgreSQL SELECT ... LIMIT 5

Menggabungkan Semua: Contoh Dalam Dunia Nyata

Ayo bayangkan kita sedang mengelola basis data perpustakaan. Kita memiliki tabel books dan ingin membuat tabel popular_books dengan buku yang telah dipinjam lebih dari 100 kali dalam setahun terakhir.

CREATE TABLE popular_books (
id INT,
title VARCHAR(100),
author VARCHAR(100),
borrow_count INT
);

INSERT INTO popular_books (id, title, author, borrow_count)
SELECT id, title, author, borrow_count
FROM books
WHERE borrow_count > 100 AND last_borrowed >= DATE_SUB(CURDATE(), INTERVAL 1 YEAR)
ORDER BY borrow_count DESC
LIMIT 10;

Skrip ini melakukan beberapa hal:

  1. Membuat tabel popular_books yang baru.
  2. Memilih buku dari tabel books yang memenuhi kriteria kita.
  3. Mengurutkan mereka berdasarkan jumlah peminjaman.
  4. Batasi pemilihan ke 10 teratas.

Itu seperti membuat "Staff Picks" rak di perpustakaan Anda, tetapi membiarkan data menentukan apa yang akan dipasang di sana!

Kesimpulan: Kekuatan Data Baru Anda

Dan begitu saja, teman-teman! Anda baru saja belajar menggunakan pernyataan Insert Into Select seperti seorang ahli. Ingat, ini lebih dari sekedar memindahkan data - ini tentang mengelola dan menganalisis informasi Anda secara efisien.

Sekali Anda mempraktikkan teknik ini, Anda akan menemukan diri Anda menjadi seorang ahli data, mampu memotong dan mengiris informasi dalam cara yang Anda tidak pernah pikirkan mungkin. Itu seperti belajar memasak - awalnya Anda mengikuti resep, tetapi segera Anda akan membuat hidangan data Anda sendiri!

Terus eksperimen, terus belajar, dan yang paling penting, bersenang-senang dengan itu. SQL mungkin terlihat menakutkan pada awalnya, tetapi percayalah kepada saya, sekali Anda mengerti, Anda akan bertanya-tanya bagaimana Anda pernah mengelola data tanpanya.

Selamat menanyakan, dan semoga data Anda selalu bersih dan koneksi Anda selalu lancar!

Credits: Image by storyset