Lewati ke konten utama

Belajar SQL untuk Pemula

19 October 2026 • 17 menit baca • Belajar Database, Belajar SQL, Data Enggineer, Data Analysis, Data Science

Belajar SQL untuk Pemula: Memahami Database, Query, dan Contoh Praktis

Pernahkah Anda membuka aplikasi belanja online, mencari sebuah produk, melihat harga, lalu melakukan pemesanan hanya dalam beberapa detik?

Di balik proses yang terlihat sederhana tersebut, ada banyak data yang bekerja. Informasi produk, harga, stok, pelanggan, pesanan, hingga pembayaran perlu disimpan dan diolah agar aplikasi dapat memberikan informasi yang benar.

Bayangkan jika seluruh informasi tersebut masih dicatat dalam buku atau spreadsheet yang terpisah. Ketika jumlah transaksi mencapai ribuan bahkan jutaan, mencari satu pesanan atau menghitung total penjualan akan menjadi pekerjaan yang melelahkan.

Di sinilah database dan SQL berperan.

SQL memungkinkan kita berkomunikasi dengan database menggunakan perintah yang terstruktur. Kita dapat meminta data tertentu, menyaring informasi berdasarkan kondisi, menghitung transaksi, menggabungkan informasi pelanggan dengan pesanan, hingga menyiapkan data untuk laporan bisnis.

Kabar baiknya, Anda tidak perlu menjadi programmer berpengalaman untuk mulai mempelajari SQL.

Dalam panduan ini, kita akan belajar SQL secara bertahap melalui sebuah studi kasus toko online. Anda akan memahami bukan hanya cara menulis query, tetapi juga alasan sebuah query digunakan, bagaimana membaca hasilnya, dan bagaimana keterampilan tersebut menjadi fondasi untuk mempelajari Data Analytics, Data Science, dan Data Engineering.

1. Apa Itu SQL dan Mengapa Penting Dipelajari?

SQL adalah singkatan dari Structured Query Language, yaitu bahasa yang digunakan untuk berinteraksi dengan database relasional.

Dengan SQL, kita dapat memberikan instruksi kepada database untuk melakukan berbagai pekerjaan, seperti:

  1. Mengambil data produk atau pelanggan.
  2. Mencari transaksi pada tanggal tertentu.
  3. Menambahkan data pelanggan baru.
  4. Memperbarui harga atau status pesanan.
  5. Menghitung total penjualan.
  6. Menggabungkan data dari beberapa tabel.
  7. Membuat dan mengelola struktur tabel.

Misalnya, seorang pemilik toko ingin mengetahui produk apa saja yang dijual. Dengan SQL, kita dapat menuliskan:

SELECT * FROM products;

Query tersebut meminta database menampilkan seluruh kolom dan baris dari tabel products.

Sederhana, bukan?

Namun, SQL tidak hanya digunakan untuk mengambil data. Seiring bertambahnya pemahaman, Anda akan mempelajari bagaimana query dapat menjawab pertanyaan bisnis yang jauh lebih kompleks.

Siapa yang membutuhkan SQL?

SQL digunakan dalam berbagai bidang pekerjaan teknologi dan pengolahan data.

Software Engineer

Menggunakan SQL untuk mengambil dan menyimpan data aplikasi, mengelola relasi antartabel, serta membangun fitur seperti pencarian produk dan riwayat transaksi.

Data Analyst

Menggunakan SQL untuk mengolah data, menghitung KPI, membuat laporan, menemukan tren, dan menjawab pertanyaan bisnis berdasarkan data aktual.

Data Scientist

Menggunakan SQL untuk mengambil dan menyiapkan data sebelum melakukan eksplorasi, analisis statistik, atau membangun model machine learning.

Data Engineer

Menggunakan SQL untuk mentransformasi data, membangun proses pengolahan data, menyiapkan data warehouse, dan mendukung pipeline analitik.

SQL bukan satu-satunya keterampilan yang dibutuhkan untuk profesi tersebut. Namun, kemampuan memahami dan mengolah data melalui SQL merupakan fondasi yang sangat berguna.

2. Memahami Database, Tabel, Baris, dan Kolom

Sebelum menulis banyak query, kita perlu memahami tempat data disimpan.

Mari kembali ke cerita toko online kita.

Anggaplah Anda membangun aplikasi bernama TokoKita. Pada awalnya, toko tersebut hanya memiliki beberapa produk. Namun, setelah bisnis berkembang, toko mulai memiliki banyak produk, pelanggan, pesanan, dan pembayaran.

Data tersebut perlu disusun agar mudah dicari dan dikelola.

Apa itu database?

Database adalah kumpulan data yang disimpan secara terorganisasi sehingga dapat dikelola dan diakses sesuai kebutuhan.

Dalam aplikasi toko online, sebuah database dapat memiliki tabel:

  1. products untuk menyimpan data produk.
  2. customers untuk menyimpan data pelanggan.
  3. orders untuk menyimpan transaksi pesanan.
  4. order_items untuk menyimpan rincian produk dalam setiap pesanan.

Keempat tabel tersebut dapat berada di dalam database yang sama.

Apa itu tabel?

Tabel adalah struktur untuk menyimpan data dalam bentuk baris dan kolom.

Bayangkan sebuah spreadsheet. Setiap kolom mempunyai nama dan tipe data tertentu, sedangkan setiap baris mewakili satu record atau catatan data.

Contoh tabel products:

idproduct_namecategorypricestock
1Keyboard MechanicalAksesoris45000012
2Mouse WirelessAksesoris17500025
3Monitor 24 InchMonitor18500008
4USB HubAksesoris1250000
5Laptop StandAksesoris27500015

Tabel tersebut memiliki lima baris data dan lima kolom.

Perhatikan perbedaannya:

  1. id menyimpan identitas produk.
  2. product_name menyimpan nama produk.
  3. category menyimpan kategori.
  4. price menyimpan harga.
  5. stock menyimpan jumlah stok.

Ketika Anda ingin mengetahui harga monitor, SQL dapat mengambil nilai dari kolom price berdasarkan produk yang dicari.

Apa itu primary key?

Primary key adalah kolom atau kombinasi kolom yang digunakan untuk mengidentifikasi setiap baris secara unik.

Dalam tabel products, kolom id dapat berfungsi sebagai primary key.

Mengapa diperlukan?

Bayangkan ada dua produk yang sama-sama bernama Mouse Wireless. Nama produk saja belum tentu cukup untuk membedakan keduanya. Dengan ID yang unik, database dapat mengetahui record mana yang sedang diakses.

Primary key umumnya tidak boleh bernilai NULL dan nilainya harus unik.

Apa itu foreign key?

Foreign key adalah kolom yang digunakan untuk membangun relasi antara tabel dengan merujuk pada key di tabel lain.

Misalnya, tabel orders memiliki kolom customer_id yang merujuk ke id pada tabel customers.

Dengan relasi ini, kita dapat mengetahui pelanggan yang melakukan setiap pesanan tanpa harus mengulang seluruh informasi pelanggan pada setiap transaksi.

Konsep primary key dan foreign key akan menjadi sangat penting ketika Anda mulai mempelajari SQL JOIN.

3. Apa Itu Query SQL?

Query SQL adalah instruksi yang kita tuliskan untuk meminta database melakukan suatu pekerjaan.

Contohnya:

SELECT product_name, price
FROM products;

Mari kita baca seperti membaca sebuah kalimat.

  1. SELECT berarti memilih data atau kolom yang ingin ditampilkan.
  2. product_name, price berarti kita hanya membutuhkan nama dan harga produk.
  3. FROM products berarti data diambil dari tabel products.

Jika dijelaskan dalam bahasa sehari-hari, query tersebut berarti:

"Tampilkan nama dan harga seluruh produk yang tersimpan di tabel products."

Inilah cara terbaik mempelajari SQL: jangan sekadar menghafal sintaks, tetapi pahami maksud setiap bagian query.

Mengapa query diakhiri titik koma?

Dalam contoh SQL, Anda akan sering melihat tanda ; di akhir perintah.

SELECT * FROM products;

Titik koma digunakan sebagai penanda akhir sebuah statement SQL dalam banyak lingkungan eksekusi. Beberapa aplikasi memungkinkan Anda menjalankan query tanpa mengetikkan tanda tersebut secara eksplisit.

Untuk membiasakan diri, gunakan titik koma dalam contoh latihan.

4. SELECT: Query Pertama untuk Mengambil Data

Setelah memahami struktur tabel, sekarang kita mulai bekerja dengan data.

Bayangkan pemilik TokoKita bertanya:

"Produk apa saja yang tersedia di toko saya?"

Anda belum perlu mengubah data, membuat laporan kompleks, atau menulis program. Anda cukup meminta database menampilkan informasi yang dibutuhkan.

4.1 Menggunakan SELECT *

SELECT *
FROM products;

Tanda * berarti seluruh kolom yang dapat dipilih dari tabel tersebut.

Hasilnya akan mencakup kolom id, product_name, category, price, dan stock.

Kapan digunakan?

Query ini berguna saat belajar, memeriksa isi tabel, atau memahami bentuk data yang tersedia.

Namun, pada aplikasi produksi atau tabel yang memiliki banyak kolom, memilih seluruh kolom tidak selalu efisien. Lebih baik ambil hanya kolom yang benar-benar diperlukan.

4.2 Memilih kolom tertentu

Pemilik toko ternyata hanya ingin melihat nama produk dan harganya.

SELECT product_name, price
FROM products;

Hasilnya:

product_nameprice
Keyboard Mechanical450000
Mouse Wireless175000
Monitor 24 Inch1850000
USB Hub125000
Laptop Stand275000

Sekarang hasil query lebih sederhana karena hanya menampilkan informasi yang dibutuhkan.

Ingat pola dasarnya:

SELECT kolom_yang_dibutuhkan
FROM nama_tabel;

Anda dapat memilih satu kolom, dua kolom, atau lebih sesuai kebutuhan.

4.3 Menggunakan alias dengan AS

Terkadang nama kolom di database terlalu teknis untuk ditampilkan dalam laporan.

Contohnya, kita ingin menampilkan product_name sebagai Nama Produk dan price sebagai Harga.

SELECT
    product_name AS `Nama Produk`,
    price AS `Harga`
FROM products;

Dalam MySQL, backtick digunakan untuk membatasi identifier seperti alias yang mengandung spasi. Alternatif yang lebih sederhana dan portabel adalah menggunakan alias tanpa spasi, misalnya nama_produk dan harga.

SELECT
    product_name AS nama_produk,
    price AS harga
FROM products;

Alias membantu membuat hasil query lebih mudah dibaca, terutama saat data akan digunakan dalam laporan atau aplikasi.

Perlu diingat, AS pada contoh tersebut hanya mengubah nama kolom dalam hasil query. Nama kolom asli di tabel tidak berubah.

4.4 Menggunakan DISTINCT untuk menghilangkan nilai duplikat

Bayangkan toko memiliki ratusan produk, tetapi pemilik hanya ingin mengetahui kategori apa saja yang tersedia.

Jika kita menjalankan:

SELECT category
FROM products;

Kategori yang sama dapat muncul berulang kali.

Gunakan DISTINCT:

SELECT DISTINCT category
FROM products;

Hasilnya hanya menampilkan nilai kategori yang berbeda.

Kapan digunakan?

  1. Melihat daftar kategori produk.
  2. Mengetahui kota pelanggan yang muncul dalam data.
  3. Memeriksa variasi status pesanan.
  4. Menemukan nilai unik pada kolom tertentu.

Perhatikan bahwa DISTINCT menghilangkan duplikasi pada kombinasi kolom yang dipilih. Jika Anda memilih dua kolom sekaligus, kombinasi keduanya yang akan dibuat unik.

5. WHERE: Mencari Data Berdasarkan Kondisi

Setelah mengetahui daftar produk, pemilik toko mengajukan pertanyaan yang lebih spesifik:

"Produk mana yang harganya di atas Rp300.000?"

Menampilkan semua produk tidak lagi cukup. Kita perlu menyaring data berdasarkan kondisi.

Di sinilah WHERE digunakan.

SELECT product_name, price
FROM products
WHERE price > 300000;

Hasilnya:

product_nameprice
Keyboard Mechanical450000
Monitor 24 Inch1850000

Database hanya menampilkan baris yang memenuhi kondisi price > 300000.

Operator perbandingan SQL

Berikut operator yang paling sering digunakan.

OperatorFungsiContoh
=Sama denganprice = 175000
<>Tidak sama dengancategory <> 'Monitor'
>Lebih besarprice > 300000
<Lebih kecilprice < 300000
>=Lebih besar atau sama denganstock >= 10
<=Lebih kecil atau sama denganprice <= 500000

Contoh lain:

SELECT product_name, stock
FROM products
WHERE stock = 0;

Query ini mencari produk dengan stok nol.

Dari studi kasus kita, hasilnya adalah USB Hub.

5.1 Menggabungkan kondisi dengan AND

Pemilik toko sekarang ingin melihat produk yang harganya di bawah Rp500.000 dan stoknya masih tersedia.

Kita membutuhkan dua kondisi yang harus sama-sama terpenuhi.

SELECT product_name, price, stock
FROM products
WHERE price < 500000
  AND stock > 0;

AND berarti kedua kondisi harus benar.

Produk yang harganya murah tetapi stoknya nol tidak akan masuk hasil. Begitu pula produk yang stoknya tersedia tetapi harganya tidak memenuhi batas.

5.2 Menggunakan OR

Bagaimana jika pemilik toko ingin mencari produk yang termasuk kategori Monitor atau memiliki harga di atas Rp1.000.000?

SELECT product_name, category, price
FROM products
WHERE category = 'Monitor'
   OR price > 1000000;

OR berarti setidaknya salah satu kondisi harus benar.

Pada tabel contoh, Monitor 24 Inch memenuhi kedua kondisi sekaligus, tetapi tetap tampil sebagai satu baris karena query tersebut tidak menggandakan record hanya karena dua kondisinya terpenuhi.

5.3 Menggabungkan AND dan OR

Misalnya, toko ingin mencari produk kategori Aksesoris dengan harga di bawah Rp300.000, atau produk apa pun dengan stok nol.

SELECT product_name, category, price, stock
FROM products
WHERE (category = 'Aksesoris' AND price < 300000)
   OR stock = 0;

Tanda kurung membantu memperjelas urutan logika.

Tanpa memahami logika AND dan OR, query dapat menghasilkan data yang berbeda dari maksud bisnis. Karena itu, gunakan tanda kurung ketika kondisi mulai kompleks.

5.4 Menggunakan IN

Bagaimana jika Anda ingin mencari produk dari tiga kategori tertentu?

Anda dapat menuliskan beberapa kondisi dengan OR, tetapi SQL menyediakan cara yang lebih ringkas melalui IN.

SELECT product_name, category
FROM products
WHERE category IN ('Aksesoris', 'Monitor');

IN memeriksa apakah suatu nilai termasuk dalam daftar yang diberikan.

Query ini akan mengambil produk dengan kategori Aksesoris atau Monitor.

Kebalikannya adalah NOT IN, yang digunakan untuk memilih nilai di luar daftar. Hati-hati jika daftar tersebut mengandung NULL, karena logika NULL dapat memengaruhi hasil perbandingan.

5.5 Menggunakan BETWEEN

Pemilik toko ingin melihat produk dengan harga antara Rp200.000 dan Rp500.000.

SELECT product_name, price
FROM products
WHERE price BETWEEN 200000 AND 500000;

BETWEEN digunakan untuk mencari nilai di dalam rentang, termasuk batas bawah dan batas atas.

Pada contoh tersebut, harga Rp200.000 dan Rp500.000 juga memenuhi kondisi.

Operator ini juga berguna untuk rentang tanggal, asalkan tipe data dan batas waktunya diperhatikan.

5.6 Menggunakan LIKE untuk pencarian teks

Sekarang bayangkan pemilik toko hanya mengingat bahwa nama produk mengandung kata "Mouse".

SELECT product_name, price
FROM products
WHERE product_name LIKE '%Mouse%';

Tanda % merupakan wildcard yang mewakili nol atau lebih karakter.

Pola yang sering digunakan:

PolaArti
'Mouse%'Teks dimulai dengan Mouse
'%Mouse'Teks diakhiri dengan Mouse
'%Mouse%'Teks mengandung Mouse
'_ouse%'Karakter pertama bebas, kemudian diikuti ouse

Perilaku pencarian huruf besar dan kecil dapat bergantung pada collation database. Jadi, jangan selalu menganggap LIKE peka atau tidak peka terhadap kapitalisasi di semua sistem.

5.7 Memahami NULL dan IS NULL

Tidak semua kolom memiliki nilai.

Misalnya, data produk tertentu belum memiliki deskripsi. Dalam database, kondisi tersebut dapat direpresentasikan dengan NULL, yaitu nilai yang menandakan data tidak tersedia atau tidak diketahui.

Untuk mencari data NULL, gunakan:

SELECT product_name
FROM products
WHERE description IS NULL;

Untuk mencari data yang sudah memiliki nilai:

SELECT product_name
FROM products
WHERE description IS NOT NULL;

Jangan menuliskan description = NULL untuk memeriksa NULL. SQL menggunakan logika tiga nilai, sehingga NULL tidak diperlakukan seperti nilai biasa yang dapat dibandingkan dengan tanda sama dengan.

Perbedaan ini penting saat membersihkan data dan melakukan analisis.

6. ORDER BY: Mengurutkan Hasil Query

Setelah mendapatkan data yang tepat, pemilik toko ingin melihat produk dari harga termurah hingga termahal.

Gunakan ORDER BY.

SELECT product_name, price
FROM products
ORDER BY price ASC;

ASC berarti urutan menaik, sedangkan DESC berarti urutan menurun.

Untuk mencari produk termahal terlebih dahulu:

SELECT product_name, price
FROM products
ORDER BY price DESC;

Mengurutkan berdasarkan lebih dari satu kolom

Misalnya, kita ingin mengurutkan produk berdasarkan kategori, lalu berdasarkan harga dari yang termurah.

SELECT product_name, category, price
FROM products
ORDER BY category ASC, price ASC;

Database mengurutkan berdasarkan kategori terlebih dahulu. Di dalam setiap kategori, data kemudian diurutkan berdasarkan harga.

Teknik ini berguna saat membuat katalog produk, daftar pelanggan, laporan inventaris, dan hasil analisis.

Perlu diketahui, jika Anda tidak menggunakan ORDER BY, jangan menganggap database selalu mengembalikan baris dalam urutan yang sama.

7. LIMIT: Membatasi Jumlah Data yang Ditampilkan

Bayangkan toko memiliki 100.000 produk dan Anda hanya ingin menampilkan lima produk termahal.

Mengambil seluruh data akan menjadi pekerjaan yang tidak perlu jika kebutuhan Anda hanya lima baris.

Gunakan LIMIT:

SELECT product_name, price
FROM products
ORDER BY price DESC
LIMIT 5;

Query tersebut mengurutkan harga dari tertinggi ke terendah, kemudian mengambil lima baris pertama.

Ingat urutannya: ORDER BY menentukan urutan, sedangkan LIMIT membatasi jumlah hasil.

Menggunakan LIMIT untuk membuat daftar produk terlaris

Ketika nanti kita sudah memiliki data transaksi dan menghitung jumlah penjualan, pola serupa dapat digunakan untuk membuat daftar lima produk terlaris.

Namun, jangan langsung menggunakan LIMIT 5 pada tabel transaksi mentah untuk menentukan produk terlaris. Kita perlu menghitung jumlah penjualan per produk terlebih dahulu. Proses itu akan dipelajari melalui GROUP BY dan fungsi agregasi.

Menggunakan LIMIT dengan OFFSET

MySQL juga mendukung pengambilan data dengan offset.

SELECT product_name, price
FROM products
ORDER BY price ASC
LIMIT 5 OFFSET 5;

Query tersebut melewati lima baris pertama, lalu mengambil lima baris berikutnya.

Konsep ini dapat digunakan untuk pagination, yaitu membagi daftar data ke beberapa halaman.

Untuk data yang sangat besar atau sering berubah, pagination berbasis offset dapat menjadi kurang efisien dan berpotensi membuat hasil antarhalaman bergeser. Pada tahap lebih lanjut, Anda dapat mempelajari keyset pagination.

8. Menggabungkan SELECT, WHERE, ORDER BY, dan LIMIT

Sekarang kita sudah mempelajari beberapa query dasar secara terpisah.

Saat bekerja dengan kebutuhan bisnis yang nyata, kita akan menggabungkannya dalam satu query.

Pemilik TokoKita memberikan permintaan:

"Tampilkan tiga produk kategori Aksesoris dengan harga termurah, tetapi jangan tampilkan produk yang stoknya habis."

Mari kita terjemahkan kebutuhan tersebut.

  1. Ambil nama, harga, dan stok.
  2. Ambil data dari tabel products.
  3. Batasi kategori menjadi Aksesoris.
  4. Pastikan stok lebih dari nol.
  5. Urutkan harga dari yang termurah.
  6. Ambil tiga baris pertama.

Query SQL-nya:

SELECT product_name, price, stock
FROM products
WHERE category = 'Aksesoris'
  AND stock > 0
ORDER BY price ASC
LIMIT 3;

Inilah salah satu kebiasaan terpenting dalam mempelajari SQL: mulai dari memahami pertanyaan, menguraikan kebutuhannya menjadi langkah logis, lalu menuliskannya menjadi query.

Anda tidak perlu menghafal semua query sekaligus. Fokuslah pada cara berpikirnya.

9. Bagaimana Database Memproses Query?

Sekarang muncul pertanyaan menarik.

Ketika Anda menulis SELECT, WHERE, ORDER BY, dan LIMIT, apakah database langsung menjalankan perintah sesuai urutan penulisan?

Tidak sepenuhnya.

Urutan penulisan SQL berbeda dari gambaran umum urutan pemrosesan logis sebuah query SELECT.

Untuk query sederhana, gambaran konseptualnya adalah:

  1. FROM menentukan sumber data.
  2. WHERE menyaring baris.
  3. SELECT menentukan kolom atau ekspresi hasil.
  4. ORDER BY mengurutkan hasil.
  5. LIMIT membatasi jumlah baris yang dikembalikan.

Urutan ini merupakan penyederhanaan untuk membantu pembelajaran, bukan penjelasan lengkap tentang cara optimizer menjalankan query secara fisik. Database dapat memilih rencana eksekusi yang berbeda demi efisiensi.

Memahami konsep tersebut akan membantu Anda ketika mulai mempelajari GROUP BY, HAVING, JOIN, subquery, dan optimasi query.

10. Latihan SQL untuk Pemula

Saat belajar SQL, membaca contoh saja tidak cukup. Anda perlu mencoba menulis query sendiri dan memeriksa hasilnya.

Gunakan tabel products yang telah kita buat pada awal artikel.

Cobalah menyelesaikan tantangan berikut.

Latihan 1 — Melihat katalog

Tampilkan semua nama produk dan harga.

Latihan 2 — Mencari produk mahal

Tampilkan produk dengan harga di atas Rp500.000.

Latihan 3 — Memeriksa stok

Tampilkan produk yang memiliki stok lebih dari 10 unit.

Latihan 4 — Mencari berdasarkan nama

Tampilkan produk yang namanya mengandung kata "Wireless".

Latihan 5 — Membuat daftar produk termurah

Tampilkan tiga produk dengan harga paling rendah, tetapi hanya produk yang stoknya masih tersedia.

Latihan 6 — Memahami data unik

Tampilkan seluruh kategori produk tanpa nilai kategori yang berulang.

Kunci jawaban

Jawaban 1

SELECT product_name, price
FROM products;

Jawaban 2

SELECT product_name, price
FROM products
WHERE price > 500000;

Jawaban 3

SELECT product_name, stock
FROM products
WHERE stock > 10;

Jawaban 4

SELECT product_name
FROM products
WHERE product_name LIKE '%Wireless%';

Jawaban 5

SELECT product_name, price, stock
FROM products
WHERE stock > 0
ORDER BY price ASC
LIMIT 3;

Jawaban 6

SELECT DISTINCT category
FROM products;

Setelah menyelesaikan latihan ini, Anda sudah memiliki pemahaman awal mengenai pengambilan data, pemilihan kolom, penyaringan, pencarian teks, pengurutan, dan pembatasan hasil.

11. Ke Mana Selanjutnya Setelah Memahami SELECT?

Pada tahap ini, kita baru belajar membaca dan mengambil data. Perjalanan mempelajari SQL masih panjang, tetapi setiap tahap memiliki hubungan yang jelas dengan tahap berikutnya.

Tahap pertama: Mengelola data dengan CRUD

Aplikasi toko online tidak hanya membaca data. Aplikasi juga harus menambahkan produk, mengubah harga, dan menghapus record yang memang tidak lagi diperlukan.

Untuk itu, Anda akan mempelajari:

  1. INSERT untuk menambahkan data.
  2. UPDATE untuk memperbarui data.
  3. DELETE untuk menghapus data.

Anda juga perlu memahami cara menghindari perubahan data yang tidak disengaja.

Tahap kedua: Menghitung dan menganalisis data

Pemilik toko tentu tidak hanya ingin mengetahui nama produknya. Ia juga ingin menjawab pertanyaan seperti:

  1. Berapa jumlah seluruh transaksi?
  2. Berapa total pendapatan?
  3. Produk apa yang paling banyak terjual?
  4. Kategori mana yang menghasilkan pendapatan tertinggi?

Untuk menjawabnya, Anda akan mempelajari COUNT(), SUM(), AVG(), MIN(), MAX(), GROUP BY, dan HAVING.

Di sinilah SQL mulai berperan langsung dalam pekerjaan Data Analytics.

Tahap ketiga: Menghubungkan beberapa tabel

Ketika toko memiliki pelanggan dan pesanan, informasi akan disimpan di beberapa tabel yang saling berhubungan.

Untuk mendapatkan nama pelanggan beserta detail pesanannya, kita perlu mempelajari JOIN.

Kemampuan ini sangat penting karena data bisnis biasanya tidak tersimpan dalam satu tabel saja.

Tahap keempat: Mengolah data yang lebih kompleks

Setelah memahami agregasi dan relasi tabel, Anda dapat mempelajari subquery, CTE, CASE, fungsi tanggal, serta window functions.

Teknik-teknik tersebut membantu membangun analisis yang lebih kompleks, seperti pertumbuhan penjualan bulanan, ranking produk, dan perbandingan kinerja antarkategori.

Tahap kelima: Memahami kualitas dan performa data

Bagi calon Data Engineer maupun Software Engineer, memahami hasil query saja belum cukup.

Anda juga perlu belajar tentang desain tabel, tipe data, primary key, foreign key, indeks, transaksi, keamanan, dan optimasi query.

Kemampuan ini membantu memastikan data tidak hanya dapat diakses, tetapi juga dikelola dengan benar dan digunakan secara andal.

Kesimpulan

Belajar SQL untuk pemula tidak harus dimulai dengan menghafal puluhan perintah. Cara yang lebih efektif adalah memahami bagaimana data disimpan, kemudian berlatih menjawab pertanyaan nyata menggunakan query.

Melalui studi kasus TokoKita, kita telah mempelajari bagaimana SELECT mengambil data, WHERE menyaring baris, operator perbandingan menentukan kondisi, LIKE mencari teks, DISTINCT memilih nilai unik, ORDER BY mengurutkan hasil, dan LIMIT membatasi jumlah baris.

Setiap query memiliki tujuan tertentu. Ketika beberapa query digabungkan dengan tepat, Anda dapat mengubah permintaan bisnis menjadi instruksi yang dapat dipahami database.

Jika tujuan Anda adalah menjadi Data Analyst, Data Scientist, Data Engineer, atau Software Engineer, jadikan SQL sebagai salah satu fondasi pembelajaran. Lanjutkan dengan latihan, gunakan dataset yang semakin kompleks, dan biasakan diri memeriksa apakah hasil query benar-benar menjawab pertanyaan yang diberikan.

Langkah berikutnya: pelajari SQL CRUD untuk memahami cara menambahkan, mengubah, dan menghapus data. Setelah itu, lanjutkan ke agregasi dan JOIN agar Anda dapat mulai membangun laporan serta analisis data yang lebih bermakna.


Rujukan teknis utama yang dapat dijadikan acuan saat mengembangkan seri ini:

  1. MySQL 8.4 Reference Manual — SQL Statements.
  2. Dokumentasi SELECT MySQL — sintaks pengambilan dan penyaringan data.
  3. Dokumentasi SELECT PostgreSQL — referensi tambahan untuk memahami klausa query dan agregasi.


Butuh solusi digital untuk bisnis Anda?

Diskusikan Proyek →