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.
Login atau daftar akun siswa untuk menyimpan riwayat jawaban dan memantau pencapaian 5 Learning Path.
Path 1: SQL Basics
Kuasai dasar-dasar SQL: sintaksis SELECT, filter WHERE, pengurutan ORDER BY, hingga manipulasi data INSERT, UPDATE, dan DELETE.
Pengenalan Perintah SELECT
Tulis query SQL untuk mengambil dan menampilkan seluruh kolom dan baris dari tabel `customers`....
Filter Nilai Unik dengan SELECT DISTINCT
Tampilkan nilai unik dari kolom country pada tabel `customers`....
Filter Data Menggunakan WHERE
Tulis query SQL untuk menampilkan seluruh data pelanggan dari tabel `customers` yang berdomisili di kota 'Band...
Logika Kombinasi dengan AND, OR, NOT
Tampilkan seluruh pelanggan dari tabel `customers` yang berasal dari negara 'Indonesia' AND berdomisili di kot...
Mengurutkan Data dengan ORDER BY
Tampilkan seluruh data pelanggan dari tabel `customers` diurutkan berdasarkan name secara alfabetis naik (ASC)...
Menambahkan Data Baru dengan INSERT INTO
Tambahkan pelanggan baru ke tabel `customers` dengan rincian data berikut: - `id`: 5 - `name`: `'Eko Prasetyo'...
Penanganan Data Kosong dengan IS NULL / IS NOT NULL
Tampilkan seluruh pelanggan dari tabel `customers` yang kolom phone bernilai IS NULL....
Memperbarui Data dengan UPDATE
Perbarui (UPDATE) data pelanggan pada tabel `customers` yang memiliki `id = 3` sehingga kolom `city` berubah m...
Menghapus Data dengan DELETE
Hapus data pelanggan dari tabel `customers` yang memiliki `id = 2`. Setelah perintah DELETE, jalankan `SELECT ...
Membatasi Baris Data dengan LIMIT
Tampilkan 3 pelanggan pertama dari tabel `customers` diurutkan berdasarkan `id` secara menaik (`ASC`)....
Path 2: SQL Aggregates & Functions
Pelajari fungsi agregasi data (COUNT, SUM, AVG, MIN, MAX), kalkulasi aritmatika, filter teks LIKE, serta fungsi String dan Date.
Mencari Nilai Minimum & Maksimum dengan MIN() & MAX()
Tulis query SQL untuk menampilkan harga termurah (MIN(price)) dan harga termahal (MAX(price)) dari tabel `prod...
Menghitung Jumlah Record dengan COUNT()
Hitung total jumlah produk pada tabel `products` yang memiliki harga lebih besar dari 200000....
Menghitung Total Jumlah dengan SUM()
Hitung total seluruh stok barang (SUM(quantity)) pada tabel `inventory`....
Menghitung Rata-rata dengan AVG()
Hitung nilai rata-rata ulasan produk (AVG(rating)) dari tabel `reviews`....
Pencarian Pola Teks dengan LIKE
Tampilkan seluruh pelanggan dari tabel `customers` yang namanya diawali dengan huruf 'A' (`LIKE 'A%'`)....
Penggunaan Wildcards % dan _
Tampilkan pelanggan dari tabel `customers` yang memiliki huruf kedua berupa 'u' (`LIKE '_u%'`)....
Pencarian Banyak Nilai dengan IN
Tampilkan seluruh pelanggan dari tabel `customers` yang berada di kota 'Jakarta', 'Bandung', atau 'Surabaya' m...
Pencarian Jangkauan Nilai dengan BETWEEN
Tampilkan seluruh produk dari tabel `products` yang harganya berada di antara 100000 dan 500000 (inklusif)....
Path 3: SQL Joins & Relasi Tabel
Gabungkan informasi dari berbagai tabel relasional dengan INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN, dan Self Join.
Penamaan Alias Kolom & Tabel dengan AS
Tampilkan kolom `name` sebagai 'nama_pelanggan' dan `city` sebagai 'kota_asal' dari tabel `customers`....
Penggabungan Data Dua Tabel dengan INNER JOIN
Tampilkan `orders.id`, `customers.name`, dan `orders.amount` dengan menggabungkan tabel `orders` dan `customer...
Penggabungan Data dengan LEFT JOIN
Tampilkan semua `customers.name` dan `orders.amount` (jika ada) menggunakan LEFT JOIN antara `customers` (tabe...
Penggabungan Data dengan RIGHT JOIN
Tampilkan seluruh `orders.id` dan `customers.name` (jika ada) dengan menggunakan LEFT JOIN membalik tabel `ord...
Penggabungan Data Lengkap dengan FULL JOIN
Gabungkan tabel `customers` dan `orders` menggunakan `LEFT JOIN` gabungan `UNION` untuk menampilkan seluruh da...
Menggabungkan Result-Set dengan UNION & UNION ALL
Tampilkan daftar kota unik dari gabungan tabel `suppliers` (`city`) dan tabel `customers` (`city`) menggunakan...
Path 4: SQL Grouping & Subqueries
Analisis kelompok data dengan GROUP BY & HAVING, query bersarang (Subqueries), kueri kondisi EXISTS, operator ANY/ALL, dan UNION.
Pengelompokan Data dengan GROUP BY
Tampilkan kolom `country` dan jumlah pelanggan (COUNT(*)) untuk setiap negara dari tabel `customers` yang dike...
Filter Kelompok Data dengan HAVING
Tampilkan `country` dan jumlah pelanggan (`COUNT(*)`) dari tabel `customers` yang dikelompokkan berdasarkan `c...
Pengujian Subquery dengan EXISTS
Tampilkan nama pemasok (`suppliers.name`) dari tabel `suppliers` jika terdapat produk di tabel `products` yang...
Subquery dengan ANY dan ALL
Tampilkan seluruh `name` dan `price` dari tabel `products` yang harganya lebih besar dari harga rata-rata prod...
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...
Logika Kondisional dengan CASE WHEN
Tampilkan `name`, `score`, dan kolom baru bernama 'status' yang bernilai 'Lulus' jika `score >= 70` dan 'Remid...
Path 5: SQL DDL, Constraints & Security
Definisikan skema database (CREATE, ALTER, DROP), kelola batasan data (Constraints), Transaksi, Views, dan Proteksi Keamanan SQL.
Membuat Tabel Baru dengan CREATE TABLE
Buat tabel baru bernama `employees` dengan kolom-kolom berikut: - `id` bertipe `INT` - `name` bertipe `TEXT` -...
Mengubah Struktur Tabel dengan ALTER TABLE
Tambahkan kolom baru bernama `email` bertipe `TEXT` ke dalam tabel `users` yang sudah ada....
Menghapus Tabel dengan DROP TABLE
Hapus tabel sementara bernama `temp_logs` dari database....
Batasan Wajib Isi dengan NOT NULL
Buat tabel `categories` dengan kolom `id INT NOT NULL` dan `category_name TEXT NOT NULL`....
Batasan Nilai Unik dengan UNIQUE
Buat tabel `members` dengan kolom `id INT` dan kolom `email TEXT UNIQUE`....
Kunci Utama Tabel dengan PRIMARY KEY
Buat tabel `student_accounts` dengan kolom `student_id INT PRIMARY KEY` dan `username TEXT`....
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...
Nilai Bawaan dengan DEFAULT
Buat tabel `tasks` dengan kolom `id INT`, `title TEXT`, dan `status TEXT DEFAULT 'pending'`....
Membuat View Database dengan CREATE VIEW
Buat VIEW bernama `active_customers` yang mengambil seluruh kolom dari tabel `customers` di mana `status = 'ac...
Simulasi & Pencegahan Bahaya SQL Injection
Jalankan simulasi serangan SQL Injection pada tabel `users` dengan menuliskan query yang mengambil seluruh pen...