query where mysql | java php laravel linux mysql sql bootstrap html css query java php laravel linux mysql sql bootstrap html css query: query where mysql

Sunday, April 5, 2026

query where mysql

🏠 Beranda Tutorial MySQL Artikel 6
🟢 Level Dasar 📚 Seri ke-6 dari 28 ⏱️ 8 Menit Baca 🔍 Filter & Kondisi

Menyaring Data dengan Kondisi:
Perintah WHERE

Kuasai teknik WHERE MySQL filter data untuk mengambil tepat data yang kamu butuhkan — bukan semua data yang ada.

6
Perintah SQL
12
Contoh Query
8
Menit Baca

Bayangkan kamu masuk ke perpustakaan raksasa yang punya satu juta buku. Kamu butuh satu buku tertentu — buku tentang "resep masakan Jawa". Masa iya kamu baca semua buku satu per satu? Tentu nggak. Kamu langsung tanya ke petugasnya: "Tolong ambilkan buku dengan topik masakan Jawa!"

Itulah persis fungsi WHERE MySQL filter data — perintah yang jadi "petugas perpustakaan" kamu di dunia database. Di artikel ke-6 seri Belajar Query SQL MySQL ini, kita akan bedah tuntas klausul WHERE: sintaksnya, cara pakainya, dan trik-trik praktis yang langsung bisa kamu terapkan.

Tanpa WHERE, query SELECT-mu akan mengambil semua data — bisa ribuan bahkan jutaan baris. Ini boros, lambat, dan nggak efisien. Dengan WHERE, kamu ambil hanya yang kamu butuhkan. Lebih cepat, lebih hemat resource, dan pastinya lebih profesional. Yuk mulai!

💡

Fakta Menarik

Menurut berbagai laporan performa database, query tanpa klausa WHERE pada tabel besar bisa memakan waktu 10–100x lebih lama dibandingkan query yang menggunakan WHERE dengan kolom yang sudah diindex. Ini alasan kenapa WHERE bukan sekadar "fitur tambahan" — ini kebutuhan fundamental dalam SQL!

1. Sintaks Dasar WHERE MySQL Filter Data

📐 SINTAKS LENGKAP

SELECT   kolom1, kolom2, ...    -- kolom yang ingin ditampilkan
FROM     nama_tabel             -- sumber tabel
WHERE    kondisi_filter         -- 🔑 kondisi penyaringan data
ORDER BY kolom ASC|DESC;       -- opsional: urutan hasil

Kita akan pakai studi kasus toko online. Pertama, kenalan dulu sama datanya. Anggap kita punya tabel produk seperti ini:

id_produk nama_produk kategori harga stok
1Sepatu Lari NikeOlahraga85000045
2Kaos Polos PutihFashion75000200
3Laptop Asus VivoBookElektronik750000012
4Tas Ransel CanvasFashion32000080
5Headphone SonyElektronik120000030
6Dumbell 5kgOlahraga1800000

Sekarang, misalnya kita hanya mau lihat produk dari kategori Elektronik. Begini querynya:

💻 QUERY SQL

SELECT nama_produk, kategori, harga
FROM   produk
WHERE  kategori = 'Elektronik';

📊 Hasil Output:

nama_produk kategori harga
Laptop Asus VivoBookElektronik7.500.000
Headphone SonyElektronik1.200.000

💡 Tip Praktis

Untuk nilai teks (string), selalu pakai tanda kutip tunggal 'seperti ini'. Untuk angka, cukup tulis langsung tanpa kutip. MySQL bersifat case-insensitive untuk nilai string, tapi tidak untuk nama tabel/kolom di beberapa konfigurasi server.

2. Operator Perbandingan dalam WHERE MySQL Filter Data

WHERE nggak hanya bisa cek kesamaan (=). Kamu bisa gunakan berbagai operator perbandingan — seperti penjaga toko yang bisa menyaring produk berdasarkan harga "lebih dari", "kurang dari", atau "di antara" range tertentu.

Operator Arti Contoh
=Sama denganWHERE harga = 75000
<> atau !=Tidak sama denganWHERE kategori != 'Fashion'
>Lebih besar dariWHERE harga > 500000
<Lebih kecil dariWHERE stok < 50
>=Lebih besar atau samaWHERE harga >= 1000000
<=Lebih kecil atau samaWHERE stok <= 30
BETWEENDi antara dua nilai (inklusif)WHERE harga BETWEEN 100000 AND 500000
LIKECocok pola teks (wildcard)WHERE nama_produk LIKE '%Laptop%'
INCocok dari daftar nilaiWHERE kategori IN ('Fashion', 'Olahraga')

Contoh: tampilkan produk dengan harga antara 100.000 dan 1.000.000:

💻 QUERY SQL — BETWEEN

SELECT nama_produk, harga
FROM   produk
WHERE  harga BETWEEN 100000 AND 1000000
ORDER BY harga ASC;

📊 Hasil Output:

nama_produk harga
Dumbell 5kg180.000
Tas Ransel Canvas320.000
Sepatu Lari Nike850.000

⚠️ Peringatan

BETWEEN bersifat inklusif — artinya nilai batas bawah dan batas atas ikut disertakan. Jadi BETWEEN 100000 AND 1000000 akan mengambil produk dengan harga tepat 100.000 dan tepat 1.000.000 juga, bukan hanya yang di antaranya.

3. Kombinasi Kondisi dengan AND, OR, dan NOT

Satu kondisi sering nggak cukup. Bayangkan kamu mau cari produk kategori Elektronik dan harganya di bawah 2 juta. Di sinilah AND, OR, dan NOT masuk — mereka adalah "penghubung logika" yang bikin WHERE MySQL filter data jadi super fleksibel.

💻 QUERY SQL — AND (semua kondisi harus terpenuhi)

SELECT nama_produk, kategori, harga, stok
FROM   produk
WHERE  kategori = 'Elektronik'
  AND  harga < 2000000;

📊 Hasil Output:

nama_produkkategorihargastok
Headphone SonyElektronik1.200.00030

💻 QUERY SQL — OR (salah satu kondisi cukup)

SELECT nama_produk, kategori
FROM   produk
WHERE  kategori = 'Olahraga'
  OR   kategori = 'Fashion';

-- Cara lebih singkat pakai IN:
SELECT nama_produk, kategori
FROM   produk
WHERE  kategori IN ('Olahraga', 'Fashion');

📊 Hasil Output:

nama_produkkategori
Sepatu Lari NikeOlahraga
Kaos Polos PutihFashion
Tas Ransel CanvasFashion
Dumbell 5kgOlahraga

🎯 Tips & Insight dari Lapangan

Ketika kamu punya banyak kondisi OR dengan kolom yang sama, pakai IN (...) — hasilnya sama tapi query jauh lebih bersih dan mudah dibaca. Bayangkan punya 10 kondisi OR vs satu baris IN yang rapi. Mana yang lebih enak dimaintain 6 bulan kemudian?

🔥 Insight Trainer

Urutan prioritas operator logika: NOT diproses dulu, lalu AND, baru OR. Jadi WHERE A OR B AND C dibaca sebagai A OR (B AND C). Selalu pakai tanda kurung () untuk memastikan logika sesuai keinginanmu!

Panduan Praktikum: Langkah demi Langkah

1

Buat dan isi tabel produk

Buka MySQL Workbench atau phpMyAdmin, jalankan query berikut untuk membuat tabel beserta datanya:

CREATE TABLE produk (
  id_produk    INT PRIMARY KEY AUTO_INCREMENT,
  nama_produk  VARCHAR(100),
  kategori     VARCHAR(50),
  harga        DECIMAL(12,2),
  stok         INT
);

INSERT INTO produk VALUES
(1, 'Sepatu Lari Nike',    'Olahraga',  850000, 45),
(2, 'Kaos Polos Putih',    'Fashion',   75000,  200),
(3, 'Laptop Asus VivoBook', 'Elektronik', 7500000, 12),
(4, 'Tas Ransel Canvas',   'Fashion',   320000, 80),
(5, 'Headphone Sony',      'Elektronik', 1200000, 30),
(6, 'Dumbell 5kg',         'Olahraga',  180000, 0);
2

Coba WHERE dengan kondisi tunggal

Mulai dari yang paling sederhana — filter produk yang stoknya habis (stok = 0):

SELECT nama_produk, stok
FROM   produk
WHERE  stok = 0;
3

Gunakan LIKE untuk pencarian teks

Cari semua produk yang namanya mengandung kata "Sony" atau diawali "S":

-- % = wildcard banyak karakter
SELECT nama_produk
FROM   produk
WHERE  nama_produk LIKE '%Sony%';

-- _ = wildcard satu karakter
SELECT nama_produk
FROM   produk
WHERE  nama_produk LIKE 'S%';
4

Kombinasikan AND + OR + tanda kurung

Cari produk yang harganya di atas 500.000 dan masuk kategori Fashion atau Elektronik:

SELECT nama_produk, kategori, harga
FROM   produk
WHERE  harga > 500000
  AND  (kategori = 'Fashion' OR kategori = 'Elektronik')
ORDER BY harga DESC;

📌 Kesimpulan

  • WHERE adalah klausul untuk menyaring data berdasarkan kondisi tertentu — kunci dari WHERE MySQL filter data yang efisien
  • Gunakan operator perbandingan (=, !=, <, >, BETWEEN) untuk kondisi angka dan teks
  • Gunakan LIKE dengan wildcard % dan _ untuk pencarian pola teks yang fleksibel
  • Gabungkan kondisi dengan AND, OR, NOT — dan selalu pakai tanda kurung untuk logika kompleks
  • Ganti rangkaian OR dengan IN (...) untuk kode yang lebih bersih dan mudah dibaca

WHERE bukan sekadar syntax — ini adalah cara kamu "berbicara" dengan database secara presisi. Semakin mahir kamu menyusun kondisi, semakin efisien aplikasimu. Dan ingat: query yang baik bukan hanya yang jalan, tapi yang cepat dan mudah dipahami.

💬 Diskusi & Pertanyaan

Ada bagian yang masih bingung? Punya query WHERE yang mau dikonsultasikan? Tulis di kolom komentar di bawah! Jangan lupa share artikel ini ke teman-teman yang lagi belajar SQL — dan bookmark halaman ini biar gampang dibuka lagi pas lupa syntax. 🙌

📖 Artikel Berikutnya dalam Seri

Artikel 7: Mengurutkan Hasil Query dengan ORDER BY

Pelajari cara mengurutkan data ASC/DESC dengan satu atau lebih kolom — dan kenapa urutan memengaruhi performa query.

Baca Selanjutnya →
#MySQL #SQL #Database #Query #Tutorial #WHERE MySQL filter data #BelajarSQL #PemulaProgramming

No comments:

Post a Comment

saifiahmada.com adalah blog belajar programming Indonesia, membahas lengkap materi bahasa pemrograman: code HTML, CSS, Bootstrap, Desain, PHP, MySQL, coding Java, Query, SQL, dan dunia linux