Kenali apa itu SQL, kategori perintahnya, dan bangun skema database toko online lengkap dengan data contoh yang dipakai seluruh section ini.
Buka → # SELECT dan FilteringPelajari cara memilih kolom dengan SELECT dan memfilter baris dengan WHERE memakai operator perbandingan, IN, BETWEEN, LIKE, IS NULL, serta kombinasi AND, OR, dan NOT.
Buka → # Sorting dan LimitingUrutkan hasil query dengan ORDER BY satu maupun multi kolom, batasi jumlah baris dengan LIMIT dan OFFSET, dan pahami perilaku NULL dalam pengurutan.
Buka → # Agregasi DataRingkas banyak baris menjadi satu angka dengan fungsi agregasi COUNT, SUM, AVG, MIN, dan MAX, serta pahami perbedaan COUNT(*) vs COUNT(kolom) dan perilaku agregasi terhadap NULL.
Buka → # GROUP BY dan HAVINGKelompokkan baris dengan GROUP BY tunggal maupun multi kolom, saring hasil agregasi dengan HAVING, dan pahami urutan eksekusi logis sebuah query SQL.
Buka → # JOINGabungkan data antar tabel dengan INNER, LEFT, RIGHT, dan FULL OUTER JOIN, rapikan query multi-tabel, kuasai self-join, dan hindari jebakan duplikasi baris fan-out.
Buka → # SubqueryTulis query di dalam query: subquery skalar, subquery pada WHERE dengan IN dan EXISTS, derived table pada FROM, correlated subquery, dan kapan memakai subquery vs JOIN.
Buka → # Common Table ExpressionsSusun query analitik bertahap dengan klausa WITH — CTE dasar, CTE berantai, perbandingan dengan subquery, hingga recursive CTE untuk hierarki kategori, semuanya diuji nyata di SQLite.
Buka → # Window FunctionsHitung agregasi tanpa meruntuhkan baris dengan OVER dan PARTITION BY — ROW_NUMBER, RANK, LAG, running total dengan SUM OVER, hingga pola deduplikasi baris terbaru per pelanggan.
Buka → # Conditional ExpressionsBentuk logika if-else di dalam SQL dengan CASE WHEN, agregasi kondisional SUM(CASE ...), serta COALESCE dan NULLIF untuk menangani nilai NULL — diuji nyata di SQLite.
Buka → # Manipulasi DataTulis perubahan ke tabel dengan INSERT multi nilai, UPDATE dan DELETE yang selalu berpasangan dengan WHERE, UPSERT ON CONFLICT untuk pipeline idempotent, dan klausa RETURNING di PostgreSQL.
Buka → # Transaksi DatabasePastikan rangkaian perubahan berjalan utuh dengan BEGIN, COMMIT, ROLLBACK, dan SAVEPOINT — diuji lewat skenario transfer stok yang gagal di tengah proses.
Buka → # Optimasi Query DasarDiagnosis query lambat dengan EXPLAIN QUERY PLAN, alasan mengapa SELECT * buruk, pembuatan index dengan perbandingan plan sebelum-sesudah, WHERE yang ramah index, dan LIMIT.
Buka →