SQL
Pengenalan SQL & Database Relasional
Pengertian SQL, database relasional, tabel, baris, dan kolom sebagai dasar penyimpanan data terstruktur.
SELECT Dasar
Mengambil data dari tabel memakai SELECT, memilih kolom tertentu, dan menggunakan alias.
WHERE & Operator Perbandingan
Menyaring baris data dengan WHERE, operator perbandingan, AND/OR/NOT, IN, BETWEEN, dan LIKE.
NULL Handling: IS NULL & COALESCE
Menangani nilai NULL di SQL dengan benar — kenapa NULL tidak bisa dibandingkan dengan =, dan cara memberi nilai fallback dengan COALESCE.
ORDER BY & LIMIT
Mengurutkan hasil query dengan ORDER BY dan membatasi jumlah baris dengan LIMIT/OFFSET.
INSERT INTO
Menambahkan baris data baru ke tabel dengan INSERT INTO, satu baris atau banyak sekaligus.
UPDATE & DELETE
Mengubah data yang sudah ada dengan UPDATE dan menghapus baris dengan DELETE, selalu disertai WHERE.
Aggregate Functions (COUNT, SUM, AVG, MIN, MAX)
Menghitung ringkasan data dari banyak baris dengan fungsi agregat COUNT, SUM, AVG, MIN, dan MAX.
GROUP BY & HAVING
Mengelompokkan baris data dengan GROUP BY dan menyaring hasil kelompok dengan HAVING.
CASE WHEN: Ekspresi Kondisional dalam Query
Membuat kolom hasil berdasarkan kondisi dengan CASE WHEN...THEN...ELSE...END, langsung di dalam SELECT.
JOIN Dasar (INNER JOIN)
Menggabungkan data dari dua tabel yang berelasi memakai INNER JOIN berdasarkan foreign key.
LEFT JOIN & RIGHT JOIN
Menggabungkan tabel dengan LEFT/RIGHT JOIN agar baris tanpa pasangan tetap ikut tampil sebagai NULL.
Self-JOIN & CTE (WITH)
Menggabungkan tabel dengan dirinya sendiri (self-join), dan menyederhanakan query kompleks dengan Common Table Expression (WITH).
Subquery
Menulis query di dalam query lain (subquery) untuk memfilter atau menghitung nilai perantara.
UNION & UNION ALL
Menggabungkan hasil dua query SELECT jadi satu hasil dengan UNION dan UNION ALL.
CREATE TABLE & Tipe Data
Membuat tabel baru dengan CREATE TABLE dan mengenal tipe data umum: INT, VARCHAR, TEXT, DATE, BOOLEAN.
Constraints: PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL
Aturan integritas data di level tabel: PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL, dan DEFAULT.
ALTER TABLE
Mengubah struktur tabel yang sudah ada: menambah, mengubah, atau menghapus kolom dengan ALTER TABLE.
Index
Mempercepat pencarian data dengan INDEX, dan memahami kapan sebaiknya sebuah kolom diberi index.
Transaction: COMMIT & ROLLBACK
Menjaga konsistensi data dengan transaction: mengelompokkan beberapa perintah jadi satu unit atomik.
Tugas Akhir
Latihan akhir menggabungkan CREATE TABLE, INSERT, JOIN, GROUP BY, dan subquery dalam satu skenario database toko sederhana.