SQL dasar — SELECT sampai GROUP BY
Membaca data dengan SELECT, memfilter, mengurutkan, agregasi, dan JOIN. Semua bisa langsung dicoba di SQLite dalam browser.
SlideSQL environmentJoin
SQL (Structured Query Language) adalah bahasa standar untuk mengelola basis data relasional. SQL bersifat deklaratif: kamu menulis apa yang diinginkan, dan DBMS menentukan bagaimana cara mengambilnya.
Di bawah ini ada database SQLite sungguhan yang berjalan di browser kamu (lewat WebAssembly). Isinya tiga tabel:
mahasiswa, matakuliah, dan krs (mahasiswa mengambil matkul apa, dengan nilai apa). Ubah-ubah saja, tombol
Reset database mengembalikan isinya.
Anatomi SELECT
SELECT kolom, fungsi_agregat(...) -- 5. pilih kolom yang ditampilkan
FROM tabel -- 1. dari tabel mana
JOIN tabel_lain ON ... -- 2. gabungkan
WHERE kondisi_per_baris -- 3. saring baris
GROUP BY kolom -- 4. kelompokkan
HAVING kondisi_per_kelompok -- 6. saring kelompok
ORDER BY kolom [ASC|DESC] -- 7. urutkan
LIMIT n; -- 8. batasi jumlah
Angka di komentar adalah urutan eksekusi logis, berbeda dari urutan penulisan. Itu sebabnya alias dari SELECT
biasanya tidak bisa dipakai di WHERE: saat WHERE dijalankan, alias itu belum ada.
JOIN
JOIN menggabungkan baris dari dua tabel berdasarkan kolom yang berelasi (biasanya foreign key ke primary key).
- INNER JOIN: hanya pasangan yang cocok di kedua tabel.
- LEFT JOIN: semua baris tabel kiri; kalau tidak ada pasangan di kanan, kolom kanan diisi
NULL. Preset “LEFT JOIN” di atas memakai ini untuk menghitung peserta, termasuk matkul yang pesertanya 0. - CROSS JOIN: semua kombinasi (cartesian product), baris.
Coba sendiri
- Tampilkan nama mahasiswa yang pernah mendapat nilai
A. - Hitung total SKS yang diambil setiap mahasiswa (petunjuk: JOIN
krsdenganmatakuliah, laluSUM(sks)danGROUP BY). - Tampilkan mahasiswa yang tidak mengambil matkul apa pun (petunjuk:
LEFT JOIN ... WHERE k.nim IS NULL).
Latihan UTS & UAS
- UAS 2025 · No. 4Gabungkan tabel dengan JOIN dan jaga grain hasil query.