17 Membuat Query untuk Mengambil Data Sederhana
Sebagai engineer, kemampuan menulis query adalah modal utama untuk berinteraksi dengan database. Pada artikel kali ini, kita akan membahas cara membuat query sederhana untuk mengambil data. Tujuannya adalah membangun fondasi kuat agar kamu bisa mengolah data dengan efektif. Saya juga akan berbagi beberapa studi kasus sederhana menggunakan SQL, agar pemahamanmu lebih praktis.
Mengapa Query itu Penting?
Query adalah instruksi yang dikirim ke database management system (DBMS) untuk mengambil, menambah, mengubah, atau menghapus data. Dalam dunia nyata, kebanyakan aplikasi—dari web, mobile, hingga enterprise—bergantung pada data hasil query untuk berjalan dengan baik.
Contoh sederhana dalam kehidupan sehari-hari:
- Menampilkan daftar produk di toko online
- Melihat riwayat transaksi pada aplikasi keuangan
- Menampilkan profil pengguna di aplikasi Sosial Media
Semua itu dilakukan dengan query.
Struktur Dasar Query
Sebagai engineer, kamu akan mulai dengan perintah paling mendasar dari SQL: SELECT
.
SELECT kolom1, kolom2 FROM nama_tabel WHERE kondisi;
Bagian-Bagian
Bagian | Fungsi |
---|---|
SELECT | Mendefinisikan kolom apa saja yang diambil |
FROM | Menentukan tabel sumber data |
WHERE | (Opsional) Filter baris berdasarkan kondisi |
Studi Kasus: Mengambil Data Karyawan
Mari kita gunakan contoh data berikut.
Simulasi Tabel karyawan
id_karyawan | nama | departemen | gaji | tanggal_masuk |
---|---|---|---|---|
1 | Rina | IT | 7_000_000 | 2021-03-12 |
2 | Budi | IT | 8_500_000 | 2019-07-11 |
3 | Andi | HRD | 7_200_000 | 2020-01-09 |
4 | Fitri | Finance | 7_800_000 | 2022-02-18 |
5 | Sari | IT | 6_900_000 | 2023-10-04 |
1. Mengambil Semua Data
Query paling dasar adalah mengambil semua kolom dan semua baris:
SELECT * FROM karyawan;
Hasilnya:
id_karyawan | nama | departemen | gaji | tanggal_masuk |
---|---|---|---|---|
1 | Rina | IT | 7_000_000 | 2021-03-12 |
… | … | … | … | … |
2. Mengambil Kolom Tertentu
Sering kali kita hanya butuh kolom tertentu saja.
SELECT nama, departemen FROM karyawan;
Hasil:
nama | departemen |
---|---|
Rina | IT |
Budi | IT |
Andi | HRD |
3. Filter Data dengan WHERE
Filter data untuk departemen IT saja:
SELECT * FROM karyawan WHERE departemen = 'IT';
Hasil:
id_karyawan | nama | departemen | gaji | tanggal_masuk |
---|---|---|---|---|
1 | Rina | IT | 7_000_000 | 2021-03-12 |
2 | Budi | IT | 8_500_000 | 2019-07-11 |
5 | Sari | IT | 6_900_000 | 2023-10-04 |
4. Sorting Data
Urutkan berdasarkan gaji terbanyak:
SELECT nama, gaji FROM karyawan ORDER BY gaji DESC;
Hasil:
nama | gaji |
---|---|
Budi | 8_500_000 |
Fitri | 7_800_000 |
Andi | 7_200_000 |
5. Limiting Data
Ambil 3 karyawan dengan masa kerja terlama:
SELECT nama, tanggal_masuk FROM karyawan ORDER BY tanggal_masuk ASC LIMIT 3;
Hasil:
nama | tanggal_masuk |
---|---|
Budi | 2019-07-11 |
Andi | 2020-01-09 |
Rina | 2021-03-12 |
6. Menghitung Jumlah Data
Hitung jumlah karyawan di departemen IT:
SELECT COUNT(*) AS jumlah_IT FROM karyawan WHERE departemen = 'IT';
jumlah_IT |
---|
3 |
7. Misal: Simulasi Query Lebih Kompleks
Ambil nama karyawan IT yang gajinya di atas rata-rata semua karyawan di IT.
SELECT nama, gaji
FROM karyawan
WHERE departemen = 'IT'
AND gaji > (
SELECT AVG(gaji) FROM karyawan WHERE departemen = 'IT'
);
8. Diagram Alur Proses Query
Seringkali kita perlu memvisualisasikan langkah query sederhana di-backend:
flowchart TD A[Client Kirim Request] --> B(Proses Query di App) B --> C{Perlu Filter?} C -- Ya --> D(Query dengan WHERE) C -- Tidak --> E(Query tanpa WHERE) D --> F{Perlu Query Lanjutan?} E --> F F -- Ya --> G(Nested Query/Subquery) F -- Tidak --> H(Hasil Dikirim ke Client)
Diagram di atas menggambarkan bagaimana aplikasi menangani permintaan data sederhana, lalu memutuskan apakah perlu melakukan filter atau subquery.
9. Tips Engineer dalam Membuat Query Sederhana
- Selalu gunakan LIMIT ketika mengambil data di environment produksi
- Ambil hanya kolom yang dibutuhkan
- Gunakan WHERE untuk mengurangi beban database
- Test query di development sebelum diterapkan ke production
- Gunakan alias untuk kemudahan membaca hasil
10. Studi Kasus Aktual: Dashboard Karyawan
Bayangkan kamu ingin menampilkan data karyawan untuk kebutuhan dashboard admin. Biasanya, user ingin:
- Melihat total karyawan setiap departemen
- Daftar karyawan yang baru masuk
- Karyawan dengan gaji tertinggi
Berikut contohnya:
Total per Departemen
SELECT departemen, COUNT(*) AS jumlah
FROM karyawan
GROUP BY departemen;
departemen | jumlah |
---|---|
IT | 3 |
HRD | 1 |
Finance | 1 |
Karyawan Baru Masuk 6 Bulan Terakhir
SELECT nama, tanggal_masuk
FROM karyawan
WHERE tanggal_masuk >= DATE_SUB(CURDATE(), INTERVAL 6 MONTH);
Karyawan Gaji Tertinggi
SELECT nama, gaji
FROM karyawan
ORDER BY gaji DESC
LIMIT 1;
11. Penutup
Membuat query sederhana adalah langkah wajib bagi semua engineer yang ingin bekerja dengan data. Pemahaman perintah dasar SELECT
, WHERE
, ORDER BY
, dan agregasi seperti COUNT
akan membantu kamu merancang dan membangun aplikasi data-driven yang efisien.
Jangan remehkan dasar ini—karena query yang baik bisa menyelamatkan aplikasi production-mu dari bottleneck data yang berbahaya.
Jika kamu punya studi kasus query menarik, tulis di kolom komentar! Selalu ada hal baru yang bisa dipelajari dari data dan logika query. Selamat mencoba, semoga data-mu selalu clean dan query-mu selalu optimal 🚀
Artikel Terhangat
38 Otorisasi dengan Interceptor gRPC
07 Jul 2025
37 Otentikasi di Middleware gRPC
07 Jul 2025

38 Otorisasi dengan Interceptor gRPC
