Lompat ke konten utama
Masuk

Panduan

Belajar SQL gratis dari nol: urutan 34 pelajaran sampai bisa menjawab pertanyaan data

Panduan belajar SQL dari nol untuk calon analis: kenapa SQL lebih cepat berguna daripada bahasa lain, urutan perintah yang harus dikuasai, berapa lama sampai lancar, kesalahan yang membuat hasil kueri salah diam-diam, cara mengukur kemajuan, dan perbandingan jujur dengan belajar lewat video atau kursus berbayar.

Ditulis Redaksi KelasGratis · Terbit 2026-09-22

Untuk siapa: Calon analis data, staf yang sudah mentok di Excel karena datanya terlalu besar, dan mahasiswa yang menyiapkan diri untuk magang bidang data.

SQL adalah keterampilan data dengan rasio manfaat terhadap waktu belajar paling tinggi yang kami kenal. Bahasanya sempit, aturannya sedikit, dan hampir semua data perusahaan tersimpan di tempat yang hanya bisa ditanyai dengan SQL. Artikel ini memetakan urutan belajarnya dari nol sampai bisa menjawab pertanyaan nyata. Penilaian redaksi di artikel ini berdasarkan sumber yang dicantumkan di bagian akhir.

Ditulis untuk orang yang belum pernah menulis satu baris SQL, termasuk yang selama ini merekap dengan spreadsheet dan mulai mentok karena datanya terlalu besar atau terlalu sering berubah.

Kenapa SQL lebih cepat berguna daripada bahasa pemrograman

Python punya ribuan fungsi bawaan dan puluhan ribu pustaka. SQL punya beberapa belas kata kunci yang dipakai berulang: SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY, JOIN, dan beberapa fungsi agregat. Seluruh permukaan yang harus dikuasai seorang analis pemula bisa dituliskan di satu halaman. Karena permukaannya sempit, waktu dari nol sampai berguna jauh lebih pendek.

Perbedaan kedua lebih dalam. SQL bersifat deklaratif: kamu menuliskan hasil yang diinginkan, bukan langkah mendapatkannya. Tidak ada perulangan yang harus kamu rancang, tidak ada variabel sementara yang harus kamu jaga. Ini membuat SQL lebih mudah bagi orang yang datang dari Excel, karena berpikir dalam kolom dan baris memang sudah menjadi kebiasaannya.

Penilaian redaksi: kalau kamu hanya punya waktu untuk satu keterampilan data tahun ini dan tujuanmu pekerjaan, pilih SQL, bukan Python. Lowongan analis di Indonesia hampir selalu menguji SQL di tahap teknis, sementara Python sering menjadi nilai tambah. Kombinasinya tentu lebih kuat, tetapi urutan pengerjaannya penting saat waktumu terbatas.

PekerjaanAlat yang tepatKenapa
Rekap 500 baris sekali pakaiSpreadsheetLebih cepat dibuka daripada menulis kueri
Rekap 500 ribu baris tiap mingguSQLSpreadsheet melambat dan rawan salah salin
Menggabungkan lima tabel berbedaSQLJOIN dirancang persis untuk ini
Pembersihan data rumit dan grafikPython (pandas)Lebih leluasa mengolah dan memvisualkan
Laporan yang dibaca manajerSpreadsheet atau dasborHasil kueri tetap perlu dibentuk agar terbaca

Urutan belajar SQL yang tidak membuat bingung

Urutan berikut mengikuti bagaimana sebuah kueri dieksekusi, bukan bagaimana kueri ditulis. Ini penting: SQL ditulis mulai dari SELECT, tetapi dieksekusi mulai dari FROM. Pemula yang memahami urutan eksekusi berhenti bingung kenapa alias kolom tidak bisa dipakai di WHERE.

  1. SELECT dan FROM. Mengambil kolom tertentu, memberi nama baru dengan AS, membuang duplikat dengan DISTINCT, dan membatasi hasil dengan LIMIT.
  2. WHERE. Menyaring baris dengan perbandingan, LIKE, IN, BETWEEN, dan IS NULL. Di sinilah kesalahan paling sering terjadi karena NULL tidak berperilaku seperti nilai biasa.
  3. ORDER BY. Mengurutkan naik dan turun, mengurutkan berdasarkan beberapa kolom.
  4. Fungsi agregat. COUNT, SUM, AVG, MIN, MAX, dan bedanya COUNT(*) dengan COUNT(kolom).
  5. GROUP BY dan HAVING. Merekap per kategori dan menyaring hasil rekap. HAVING bekerja setelah pengelompokan, WHERE sebelum.
  6. JOIN. INNER JOIN untuk irisan, LEFT JOIN untuk mempertahankan semua baris tabel kiri. Dua bentuk ini menutup sebagian besar kebutuhan analis.
  7. Nilai kosong. IS NULL, COALESCE, dan bagaimana agregat mengabaikan NULL tanpa memberitahumu.
  8. CASE WHEN. Membuat kategori dan menghitung bersyarat dalam satu kueri.
  9. Subkueri dan CTE (WITH). Memecah kueri panjang menjadi langkah bernama yang bisa dibaca orang lain.
  10. Fungsi tanggal dan teks. Mengelompokkan per bulan, memotong teks, dan memformat angka.

Di KelasGratis, langkah 1 sampai 6 ada di kelas Mengolah Data dengan SQL: 20 pelajaran dengan 33 latihan memakai dataset toko fiktif berisi pelanggan, produk, pesanan, dan detail pesanan. Langkah 7 sampai 10 ada di SQL Lanjutan: 14 pelajaran dengan 36 latihan, ditutup misi memecahkan kasus berkas tender yang hilang lewat lima kueri berantai. Setiap kueri benar-benar dijalankan di SQLite dan hasilnya dibandingkan dengan hasil yang benar di server.

Berapa lama sampai lancar

TonggakIsiWaktu dengan 45 menit/hari
Bisa bertanya sederhanaSELECT, WHERE, ORDER BY tanpa membuka catatan3–5 hari
Bisa merekapGROUP BY, HAVING, fungsi agregat2 minggu
Bisa menggabungkanINNER dan LEFT JOIN antar tiga tabel3–4 minggu
Bisa dipakai kerjaCTE, CASE, nilai kosong, dan kueri yang dibaca orang lain6–10 minggu

Angka itu berlaku untuk orang yang mengerjakan kueri sendiri setiap sesi, bukan yang membaca contoh. SQL termasuk keterampilan yang paling cepat hilang kalau tidak dipakai, dan paling cepat kembali kalau dipakai lagi. Setelah tonggak ketiga, cara belajar terbaik berubah: berhenti mengerjakan latihan buatan dan mulai menjawab pertanyaan dari data yang kamu pedulikan.

Kesalahan yang membuat hasil kueri salah diam-diam

Kesalahan SQL yang paling berbahaya bukan yang memunculkan pesan error, melainkan yang menghasilkan angka yang terlihat wajar padahal keliru. Lima di bawah adalah yang paling sering kami temui.

  1. Membandingkan dengan NULL memakai tanda sama dengan. Ekspresi kolom = NULL tidak pernah benar; yang benar IS NULL. Akibatnya baris yang seharusnya masuk justru hilang tanpa peringatan.
  2. Memakai INNER JOIN padahal maksudnya LEFT JOIN. Pelanggan yang belum pernah memesan akan lenyap dari laporan, dan totalnya terlihat masuk akal sehingga tidak ada yang curiga.
  3. COUNT(kolom) dikira sama dengan COUNT(*). COUNT pada sebuah kolom mengabaikan baris yang nilainya kosong di kolom itu, sehingga jumlahnya lebih kecil dari jumlah baris.
  4. Menyaring hasil agregat di WHERE. Syarat seperti jumlah pesanan lebih dari lima harus diletakkan di HAVING; di WHERE, angka itu belum ada.
  5. Menjumlahkan setelah JOIN yang menggandakan baris. Menggabungkan tabel pesanan dengan detail pesanan menggandakan baris pesanan, sehingga SUM nilai pesanan menjadi berlipat. Ini penyebab nomor satu angka penjualan yang terlalu besar.
-- Salah: baris pesanan tergandakan oleh JOIN ke detail
SELECT p.id, SUM(p.total) AS total
FROM pesanan p
JOIN detail_pesanan d ON d.pesanan_id = p.id
GROUP BY p.id;

-- Benar: rekap detailnya dulu, baru gabungkan
WITH ringkas AS (
  SELECT pesanan_id, SUM(jumlah * harga) AS total
  FROM detail_pesanan
  GROUP BY pesanan_id
)
SELECT p.id, r.total
FROM pesanan p
LEFT JOIN ringkas r ON r.pesanan_id = p.id;

Cara mengukur kemajuan sendiri

  • Bisakah kamu menulis kueri rekap penjualan per bulan per kategori dari halaman kosong, dalam lima menit, tanpa membuka catatan?
  • Bisakah kamu menjelaskan bedanya WHERE dan HAVING tanpa memakai kata teknis?
  • Bisakah kamu menebak berapa baris yang akan keluar dari sebuah JOIN sebelum menjalankannya?
  • Bisakah kamu membaca kueri 40 baris buatan orang lain dan menjelaskan apa pertanyaan bisnis yang dijawabnya?
  • Bisakah kamu memecah kueri panjang jadi beberapa CTE bernama supaya orang lain bisa memeriksanya?

Latihan di KelasGratis memakai bentuk pemeriksaan yang sama kerasnya: hasil kueri dibandingkan baris demi baris dengan hasil yang benar, dan untuk soal tentang ORDER BY urutan barisnya ikut dinilai. Kalau hasilnya benar tetapi caranya berbeda dari kunci, kueri tetap dianggap lulus, karena yang dinilai jawabannya, bukan gaya penulisannya.

Perbandingan jujur dengan cara belajar SQL lain

SumberKelebihanKekuranganCocok untuk
Dokumentasi SQLite dan basis data lainTepat sampai ke perilaku aneh, gratis, dan menjadi kata terakhir saat ada perdebatanBukan bahan belajar berurutan; ditulis untuk orang yang sudah tahu istilahnyaMemastikan perilaku sebuah fungsi
Kursus video berbayarTerstruktur, ada proyek, kadang memakai basis data sungguhan berukuran besarBerbiaya, dan bagian latihannya sering tidak diperiksa sehingga kesalahan diam tidak ketahuanYang butuh jadwal dan pendampingan
Latihan soal daringBanyak soal, cepat, dan langsung memberi tahu benar atau salahMelatih memecahkan teka-teki, bukan merancang pertanyaan dari kebutuhan nyataPersiapan tes teknis
KelasGratisBerurutan, berbahasa Indonesia, 69 latihan dijalankan sungguhan di SQLite dan dinilai di server, gratis sampai selesaiDataset latihan berskala kecil, tanpa window function, dan tanpa pengajar manusiaBelajar mandiri dari nol sampai siap tes teknis

Penilaian redaksi: dialek SQL berbeda-beda, dan perbedaan itu lebih kecil dari yang ditakutkan pemula. Kelas ini memakai SQLite, sementara di kantor kamu mungkin bertemu PostgreSQL, MySQL, atau SQL Server. Bagian yang berbeda umumnya fungsi tanggal, fungsi teks, dan cara membatasi jumlah baris. Struktur intinya, yaitu SELECT, JOIN, GROUP BY, dan CTE, sama di semuanya dan itulah 90 persen pekerjaan sehari-hari.

Menyambungkan SQL dengan alat lain

SQL jarang dipakai sendirian. Alur kerja analis yang umum: menarik data dengan SQL, merapikan dan menghitung lanjutan dengan pandas atau spreadsheet, lalu menyusun laporan yang dibaca manusia. Karena itu kelas Rekap dan Laporan Penjualan berguna sebagai pelengkap, bukan pesaing: rekap bulan kali cabang yang dikerjakan dengan SUMIFS di Excel adalah konsep GROUP BY yang sama, hanya dengan bentuk berbeda.

Kelas Analisis Data dengan Python melanjutkan dari sisi lain: groupby pada pandas bekerja dengan logika yang sama persis dengan GROUP BY, dan merge adalah JOIN dengan nama lain. Orang yang sudah paham SQL belajar pandas jauh lebih cepat karena konsepnya sudah ada di kepala. Untuk memastikan data yang kamu ekspor tetap bisa dihitung, kelas Menata Data di Spreadsheet menjelaskan bentuk tabel yang bisa dibaca mesin: satu variabel per kolom, satu pengamatan per baris, tanpa sel gabung.

Satu kebiasaan kecil yang menolong sepanjang karier: simpan setiap kueri yang pernah berguna dalam satu berkas catatan, lengkap dengan pertanyaan bisnis yang dijawabnya. Alat pembuat tabel Markdown di halaman Alat membantu menyusun catatan itu jadi tabel yang rapi tanpa harus menghitung pemisah kolom sendiri, dan tabel Markdown bisa langsung ditempel ke README atau ke dokumentasi tim.

Soal sertifikat

Sertifikat penyelesaian diterbitkan gratis setelah seluruh pelajaran wajib selesai dan latihannya lulus pemeriksaan otomatis, dengan kode yang bisa diperiksa siapa pun di halaman verifikasi. Sertifikat itu bukti penyelesaian, bukan akreditasi. Untuk posisi analis, tes teknis yang meminta kamu menulis kueri di tempat jauh lebih menentukan, dan cara menyiapkannya sama dengan cara belajarnya: menulis kueri sendiri, bukan membaca kueri orang.

Pertanyaan yang sering muncul

Apakah bisa belajar SQL gratis dari nol tanpa memasang basis data?
Bisa. Seluruh latihan di KelasGratis berjalan di SQLite yang dimuat di dalam browser, jadi tidak ada pemasangan server basis data. Kueri yang kamu tulis benar-benar dijalankan terhadap data, bukan dicocokkan teksnya.
SQLite atau MySQL yang harus dipelajari pemula?
Mulai dari mana saja; struktur intinya sama. Perbedaan dialek terbatas pada fungsi tanggal, fungsi teks, dan cara membatasi jumlah baris. Setelah menguasai SELECT, JOIN, GROUP BY, dan CTE, berpindah dialek biasanya hanya butuh beberapa jam membaca dokumentasi.
Apakah perlu bisa Python dulu sebelum belajar SQL?
Tidak. SQL berdiri sendiri dan justru lebih cepat memberi hasil untuk pemula. Python berguna setelahnya untuk pembersihan data yang rumit dan pembuatan grafik.
Apakah sertifikat SQL dari KelasGratis diakui?
Sertifikatnya bukti penyelesaian kelas, bukan akreditasi maupun sertifikat kompetensi dari lembaga sertifikasi profesi. Yang menentukan di seleksi kerja adalah tes teknis menulis kueri, dan sertifikat hanya menjadi penanda bahwa kamu menuntaskan materinya.
Berapa lama sampai siap mengikuti tes teknis SQL?
Dengan 45 menit per hari, enam sampai sepuluh minggu cukup untuk menutup materi dasar sampai CTE dan penanganan nilai kosong, yang merupakan porsi terbesar tes teknis tingkat awal.

Lanjut dari sini

Sumber