Panduan Lengkap untuk Insert Into Select di SQL untuk Pemula

Hai, para penggemar SQL yang bersemangat! Saya sangat gembira menjadi panduan Anda dalam perjalanan menarik ini ke dunia pernyataan Insert Into Select di SQL. Sebagai seseorang yang telah mengajar ilmu komputer selama bertahun-tahun, saya bisa menjamin Anda bahwa menguasai konsep ini akan menjadi perubahan besar dalam keterampilan manajemen basis data 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 ajaib 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 apa yang masing-masing bagian lakukan:

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

Contoh Sederhana

mari kita katakan kita memiliki dua tabel: old_employees dan new_employees. Kita ingin memindahkan semua karyawan berusia di atas 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 di atas 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 di atas 25 ke tabel baru it_team.

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

Itu seperti mengatakan,"Jika Anda di IT dan berusia di atas 25, selamat datang ke tim baru!"

Contoh 2: Menggunakan Kondisi OR

mari kita 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';

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

SQL - Memasukkan Top N Baris: Trating VIP

kadang-kadang, Anda hanya ingin memindahkan jumlah baris tertentu. SQL menangani Anda 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;

Itu seperti membuat "Dinding Kebanggaan" untuk 5 earner terbaik Anda!

Sintaks yang Berbeda untuk Basis Data yang Berbeda

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

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

Menggabungkan Semua: Skenario Dunia Nyata

Bayangkan kita sedang mengelola basis data perpustakaan. Kita memiliki tabel books dan ingin membuat tabel popular_books dengan buku yang 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 baru popular_books.
  2. Memilih buku dari tabel books yang memenuhi kriteria kita.
  3. Mengurutkan mereka berdasarkan jumlah peminjaman.
  4. Menyaring pemilihan ke 10 teratas.

Itu seperti membuat "Rak Pilihan Staff" di perpustakaan Anda, tapi membiarkan data menentukan apa yang masuk kepadanya!

Kesimpulan: Kekuatan Data Baru Anda

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

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

Terus mencoba, terus belajar, dan yang paling penting, bersenang-senang dengannya. SQL mungkin terlihat menakutkan pertama kalinya, tapi percayalah, sekali Anda memahaminya, Anda akan bertanya-tanya bagaimana Anda pernah mengelola data tanpanya.

Selamat menanyakan, dan may your data always be clean and your joins always be smooth!

Credits: Image by storyset