Teknologi
• 4 min baca • 72 x dilihat

Panduan Lengkap Perintah DML SELECT pada MySQL: Jenis dan Cara Filter Data

m

Ditulis oleh

mrjj

Panduan Lengkap Perintah DML SELECT pada MySQL: Jenis dan Cara Filter Data

Dalam pengelolaan basis data relasional menggunakan MySQL, kemampuan mengambil data secara akurat dan efisien adalah kunci utama. Perintah SELECT termasuk dalam kelompok Data Manipulation Language (DML) yang berfungsi untuk membaca, mengambil, serta menampilkan data dari satu atau beberapa tabel dalam database.

Artikel ini membahas secara mendalam berbagai jenis penggunaan perintah SELECT serta teknik filter data untuk kebutuhan pengembangan aplikasi maupun analisis data.

Anatomi Dasar Perintah SELECT

Sebelum masuk ke variasi tingkat lanjut, struktur dasar penulisan SELECT di MySQL adalah sebagai berikut:

Code Snippet
SELECT kolom1, kolom2 
FROM nama_tabel 
WHERE kondisi 
ORDER BY kolom1 ASC 
LIMIT 10;

Berbagai Jenis Penggunaan SELECT pada MySQL

Perintah SELECT memiliki banyak variasi bentuk tergantung pada kompleksitas data yang ingin ditampilkan. Berikut adalah jenis-jenis SELECT yang wajib Anda ketahui:

1. Select Seluruh Kolom dan Kolom Tertentu

  • Menampilkan Semua Kolom: Menggunakan tanda bintang (*) untuk mengambil seluruh kolom yang ada pada sebuah tabel.
Code Snippet
SELECT * FROM karyawan;
  • Menampilkan Kolom Spesifik: Hanya memanggil kolom tertentu guna mengoptimalkan performa kueri.
Code Snippet
SELECT nama_depan, email FROM karyawan;

2. Select dengan DISTINCT (Menghapus Duplikat)

Digunakan untuk menyaring baris yang memiliki nilai duplikat dan hanya menampilkan data yang unik saja.

Code Snippet
SELECT DISTINCT departemen FROM karyawan;

3. Select dengan Alias (AS)

Memberikan nama sementara pada kolom atau tabel saat ditampilkan untuk mempermudah pembacaan laporan.

Code Snippet
SELECT nama_depan AS nama, gaji * 12 AS gaji_tahunan FROM karyawan;

4. Select dengan Fungsi Agregat (Aggregate Functions)

Digunakan untuk melakukan perhitungan matematis pada sekumpulan data.

  • COUNT(): Menghitung jumlah baris.
  • SUM(): Menjumlahkan nilai total.
  • AVG(): Mencari nilai rata-rata.
  • MAX() / MIN(): Mencari nilai tertinggi atau terendah.
Code Snippet
SELECT departemen, COUNT(*) AS total_karyawan, AVG(gaji) AS rata_gaji 
FROM karyawan 
GROUP BY departemen;

Catatan: Klausul HAVING sering disandingkan dengan fungsi agregat untuk memfilter hasil grup.

Code Snippet
SELECT departemen, AVG(gaji) AS rata_gaji 
FROM karyawan 
GROUP BY departemen 
HAVING rata_gaji > 5000000;

5. Select dengan JOIN (Penggabungan Tabel)

Mengambil data dari dua tabel atau lebih yang saling berelasi menggunakan foreign key.

  • INNER JOIN: Menampilkan data yang memiliki kecocokan di kedua tabel.
  • LEFT JOIN: Menampilkan seluruh data dari tabel kiri dan data yang cocok dari tabel kanan.
  • RIGHT JOIN: Menampilkan seluruh data dari tabel kanan dan data yang cocok dari tabel kiri.
Code Snippet
SELECT karyawan.nama_depan, departemen.nama_dept 
FROM karyawan 
INNER JOIN departemen ON karyawan.dept_id = departemen.id;

6. Subquery (Nested SELECT)

Menggunakan perintah SELECT di dalam perintah SELECT lainnya.

Code Snippet
SELECT nama_depan, gaji 
FROM karyawan 
WHERE gaji > (SELECT AVG(gaji) FROM karyawan);

Teknik Filter Data pada MySQL

Penyaringan data dilakukan menggunakan klausul WHERE untuk memastikan hanya baris yang memenuhi kriteria tertentu yang diproses atau ditampilkan.

1. Filter dengan Operator Perbandingan

Menggunakan operator standar seperti =, != atau <>, >, <, >=, dan <=.

Code Snippet
SELECT * FROM produk WHERE stok <= 5;

2. Filter dengan Operator Logika (AND, OR, NOT)

Menggabungkan beberapa kondisi filter sekaligus.

  • AND: Semua kondisi harus bernilai benar.
  • OR: Salah satu kondisi saja yang bernilai benar.
  • NOT: Membalikkan nilai kondisi.
Code Snippet
SELECT * FROM produk 
WHERE kategori = 'Elektronik' AND harga < 1000000;

3. Filter dengan Operator BETWEEN dan NOT BETWEEN

Digunakan untuk memfilter data dalam rentang nilai tertentu (inklusif).

Code Snippet
SELECT * FROM transaksi 
WHERE tanggal BETWEEN '2026-01-01' AND '2026-01-31';

4. Filter dengan Operator IN dan NOT IN

Mencocokkan nilai dengan daftar nilai yang telah ditentukan tanpa harus menulis banyak kondisi OR.

Code Snippet
SELECT * FROM karyawan 
WHERE departemen IN ('IT', 'Keuangan', 'Marketing');

5. Filter dengan Operator LIKE (Pencarian Pola)

Digunakan untuk pencarian teks parsial dengan bantuan wildcard:

  • %: Mewakili banyak karakter (nol atau lebih).
  • _: Mewakili tepat satu karakter.
Code Snippet
SELECT * FROM pelanggan 
WHERE email LIKE '%@gmail.com';

6. Filter Nilai Kosong (IS NULL / IS NOT NULL)

Memeriksa apakah suatu kolom bernilai NULL (kosong) atau tidak.

Code Snippet
SELECT * FROM pesanan 
WHERE tanggal_kirim IS NULL;

Mengatur Tampilan Hasil dengan ORDER BY dan LIMIT

Agar data lebih mudah dibaca dan dianalisis, hasil dari kueri SELECT sering kali dikombinasikan dengan pengurutan dan pembatasan jumlah baris:

ORDER BY: Mengurutkan data secara menaik (ASC) atau menurun (DESC).

Code Snippet
SELECT * FROM produk ORDER BY harga DESC;
  • LIMIT: Membatasi jumlah baris keluaran (sangat berguna untuk fitur pagination).
Code Snippet
SELECT * FROM produk ORDER BY terjual DESC LIMIT 5;

Penguasaan berbagai jenis perintah SELECT dan teknik filter di atas akan sangat membantu Anda dalam merancang kueri database yang cepat, efisien, dan menghasilkan informasi yang akurat sesuai kebutuhan sistem.

Bagikan artikel ini:
← Artikel Sebelumnya
Artikel Selanjutnya →

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *