Kurikulum SQL Interaktif 40 Modul

Katalog Pembelajaran SQL Masterclass

Kuasai sintaksis database SQL dari tingkat dasar hingga profesional melalui 5 Learning Path terstruktur. Tulis query pada editor SQLite WASM, eksekusi real-time, dan dapatkan umpan balik evaluasi otomatis.

Simpan Progres Belajar Anda

Login atau daftar akun siswa untuk menyimpan riwayat jawaban dan memantau pencapaian 5 Learning Path.

Filter Learning Path:
Level 1 Modul 1 – 10

Path 1: SQL Basics

Progres Path: 0 / 10 Selesai (0%)

Kuasai dasar-dasar SQL: sintaksis SELECT, filter WHERE, pengurutan ORDER BY, hingga manipulasi data INSERT, UPDATE, dan DELETE.

Modul #1 Data Match

Pengenalan Perintah SELECT

Tulis query SQL untuk mengambil dan menampilkan seluruh kolom dan baris dari tabel `customers`....

Modul #2 Data Match

Filter Nilai Unik dengan SELECT DISTINCT

Tampilkan nilai unik dari kolom country pada tabel `customers`....

Modul #3 Data Match

Filter Data Menggunakan WHERE

Tulis query SQL untuk menampilkan seluruh data pelanggan dari tabel `customers` yang berdomisili di kota 'Band...

Modul #4 Data Match

Logika Kombinasi dengan AND, OR, NOT

Tampilkan seluruh pelanggan dari tabel `customers` yang berasal dari negara 'Indonesia' AND berdomisili di kot...

Modul #5 Data Match

Mengurutkan Data dengan ORDER BY

Tampilkan seluruh data pelanggan dari tabel `customers` diurutkan berdasarkan name secara alfabetis naik (ASC)...

Modul #6 Data Match

Menambahkan Data Baru dengan INSERT INTO

Tambahkan pelanggan baru ke tabel `customers` dengan rincian data berikut: - `id`: 5 - `name`: `'Eko Prasetyo'...

Modul #7 Data Match

Penanganan Data Kosong dengan IS NULL / IS NOT NULL

Tampilkan seluruh pelanggan dari tabel `customers` yang kolom phone bernilai IS NULL....

Modul #8 Data Match

Memperbarui Data dengan UPDATE

Perbarui (UPDATE) data pelanggan pada tabel `customers` yang memiliki `id = 3` sehingga kolom `city` berubah m...

Modul #9 Data Match

Menghapus Data dengan DELETE

Hapus data pelanggan dari tabel `customers` yang memiliki `id = 2`. Setelah perintah DELETE, jalankan `SELECT ...

Modul #10 Data Match

Membatasi Baris Data dengan LIMIT

Tampilkan 3 pelanggan pertama dari tabel `customers` diurutkan berdasarkan `id` secara menaik (`ASC`)....

Level 2 Modul 11 – 18

Path 2: SQL Aggregates & Functions

Progres Path: 0 / 8 Selesai (0%)

Pelajari fungsi agregasi data (COUNT, SUM, AVG, MIN, MAX), kalkulasi aritmatika, filter teks LIKE, serta fungsi String dan Date.

Modul #11 Data Match

Mencari Nilai Minimum & Maksimum dengan MIN() & MAX()

Tulis query SQL untuk menampilkan harga termurah (MIN(price)) dan harga termahal (MAX(price)) dari tabel `prod...

Modul #12 Data Match

Menghitung Jumlah Record dengan COUNT()

Hitung total jumlah produk pada tabel `products` yang memiliki harga lebih besar dari 200000....

Modul #13 Data Match

Menghitung Total Jumlah dengan SUM()

Hitung total seluruh stok barang (SUM(quantity)) pada tabel `inventory`....

Modul #14 Data Match

Menghitung Rata-rata dengan AVG()

Hitung nilai rata-rata ulasan produk (AVG(rating)) dari tabel `reviews`....

Modul #15 Data Match

Pencarian Pola Teks dengan LIKE

Tampilkan seluruh pelanggan dari tabel `customers` yang namanya diawali dengan huruf 'A' (`LIKE 'A%'`)....

Modul #16 Data Match

Penggunaan Wildcards % dan _

Tampilkan pelanggan dari tabel `customers` yang memiliki huruf kedua berupa 'u' (`LIKE '_u%'`)....

Modul #17 Data Match

Pencarian Banyak Nilai dengan IN

Tampilkan seluruh pelanggan dari tabel `customers` yang berada di kota 'Jakarta', 'Bandung', atau 'Surabaya' m...

Modul #18 Data Match

Pencarian Jangkauan Nilai dengan BETWEEN

Tampilkan seluruh produk dari tabel `products` yang harganya berada di antara 100000 dan 500000 (inklusif)....

Level 3 Modul 19 – 24

Path 3: SQL Joins & Relasi Tabel

Progres Path: 0 / 6 Selesai (0%)

Gabungkan informasi dari berbagai tabel relasional dengan INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN, dan Self Join.

Modul #19 Data Match

Penamaan Alias Kolom & Tabel dengan AS

Tampilkan kolom `name` sebagai 'nama_pelanggan' dan `city` sebagai 'kota_asal' dari tabel `customers`....

Modul #20 Data Match

Penggabungan Data Dua Tabel dengan INNER JOIN

Tampilkan `orders.id`, `customers.name`, dan `orders.amount` dengan menggabungkan tabel `orders` dan `customer...

Modul #21 Data Match

Penggabungan Data dengan LEFT JOIN

Tampilkan semua `customers.name` dan `orders.amount` (jika ada) menggunakan LEFT JOIN antara `customers` (tabe...

Modul #22 Data Match

Penggabungan Data dengan RIGHT JOIN

Tampilkan seluruh `orders.id` dan `customers.name` (jika ada) dengan menggunakan LEFT JOIN membalik tabel `ord...

Modul #23 Data Match

Penggabungan Data Lengkap dengan FULL JOIN

Gabungkan tabel `customers` dan `orders` menggunakan `LEFT JOIN` gabungan `UNION` untuk menampilkan seluruh da...

Modul #24 Data Match

Menggabungkan Result-Set dengan UNION & UNION ALL

Tampilkan daftar kota unik dari gabungan tabel `suppliers` (`city`) dan tabel `customers` (`city`) menggunakan...

Level 4 Modul 25 – 30

Path 4: SQL Grouping & Subqueries

Progres Path: 0 / 6 Selesai (0%)

Analisis kelompok data dengan GROUP BY & HAVING, query bersarang (Subqueries), kueri kondisi EXISTS, operator ANY/ALL, dan UNION.

Modul #25 Data Match

Pengelompokan Data dengan GROUP BY

Tampilkan kolom `country` dan jumlah pelanggan (COUNT(*)) untuk setiap negara dari tabel `customers` yang dike...

Modul #26 Data Match

Filter Kelompok Data dengan HAVING

Tampilkan `country` dan jumlah pelanggan (`COUNT(*)`) dari tabel `customers` yang dikelompokkan berdasarkan `c...

Modul #27 Data Match

Pengujian Subquery dengan EXISTS

Tampilkan nama pemasok (`suppliers.name`) dari tabel `suppliers` jika terdapat produk di tabel `products` yang...

Modul #28 Data Match

Subquery dengan ANY dan ALL

Tampilkan seluruh `name` dan `price` dari tabel `products` yang harganya lebih besar dari harga rata-rata prod...

Modul #29 Data Match

Menyalin Data antar Tabel dengan INSERT INTO SELECT

Salin seluruh data `name` dan `city` dari tabel `customers` yang kotanya adalah 'Jakarta' ke dalam tabel `arch...

Modul #30 Data Match

Logika Kondisional dengan CASE WHEN

Tampilkan `name`, `score`, dan kolom baru bernama 'status' yang bernilai 'Lulus' jika `score >= 70` dan 'Remid...

Level 5 Modul 31 – 40

Path 5: SQL DDL, Constraints & Security

Progres Path: 0 / 10 Selesai (0%)

Definisikan skema database (CREATE, ALTER, DROP), kelola batasan data (Constraints), Transaksi, Views, dan Proteksi Keamanan SQL.

Modul #31 Schema Match

Membuat Tabel Baru dengan CREATE TABLE

Buat tabel baru bernama `employees` dengan kolom-kolom berikut: - `id` bertipe `INT` - `name` bertipe `TEXT` -...

Modul #32 Schema Match

Mengubah Struktur Tabel dengan ALTER TABLE

Tambahkan kolom baru bernama `email` bertipe `TEXT` ke dalam tabel `users` yang sudah ada....

Modul #33 Schema Match

Menghapus Tabel dengan DROP TABLE

Hapus tabel sementara bernama `temp_logs` dari database....

Modul #34 Schema Match

Batasan Wajib Isi dengan NOT NULL

Buat tabel `categories` dengan kolom `id INT NOT NULL` dan `category_name TEXT NOT NULL`....

Modul #35 Schema Match

Batasan Nilai Unik dengan UNIQUE

Buat tabel `members` dengan kolom `id INT` dan kolom `email TEXT UNIQUE`....

Modul #36 Schema Match

Kunci Utama Tabel dengan PRIMARY KEY

Buat tabel `student_accounts` dengan kolom `student_id INT PRIMARY KEY` dan `username TEXT`....

Modul #37 Schema Match

Kunci Relasi antar Tabel dengan FOREIGN KEY

Buat tabel `orders` dengan kolom `id INT PRIMARY KEY`, `user_id INT REFERENCES users(id)`, dan `total_price IN...

Modul #38 Schema Match

Nilai Bawaan dengan DEFAULT

Buat tabel `tasks` dengan kolom `id INT`, `title TEXT`, dan `status TEXT DEFAULT 'pending'`....

Modul #39 Schema Match

Membuat View Database dengan CREATE VIEW

Buat VIEW bernama `active_customers` yang mengambil seluruh kolom dari tabel `customers` di mana `status = 'ac...

Modul #40 Data Match

Simulasi & Pencegahan Bahaya SQL Injection

Jalankan simulasi serangan SQL Injection pada tabel `users` dengan menuliskan query yang mengambil seluruh pen...