1. Pengantar
Salah satu elemen penting untuk menjalankan query secara efisien di database MySQL adalah penggunaan operator BETWEEN
. Operator ini sangat berguna ketika ingin memeriksa apakah data berada dalam rentang tertentu. Operator ini digunakan untuk menentukan rentang angka, tanggal, atau string, sehingga memudahkan pencarian dan penyaringan data dalam database. Pada artikel ini, kita akan membahas cara menggunakan operator BETWEEN
di MySQL, contoh penerapannya, serta hal-hal yang perlu diperhatikan.
2. Sintaks Dasar Operator BETWEEN
Apa itu Operator BETWEEN
Operator BETWEEN
adalah salah satu kondisi yang digunakan dalam klausa WHERE
untuk memeriksa apakah nilai dalam kolom tertentu berada dalam rentang yang ditentukan. Sintaks dasarnya adalah sebagai berikut:
SELECT nama_kolom
FROM nama_tabel
WHERE nama_kolom BETWEEN nilai_awal AND nilai_akhir;
Misalnya, jika sebuah tabel menyimpan data usia karyawan, kita bisa menggunakan operator ini untuk mengambil data karyawan dalam rentang usia tertentu.
Bentuk Negatif NOT BETWEEN
Jika ingin mencari nilai yang berada di luar rentang, gunakan bentuk negatif NOT BETWEEN
.
SELECT nama_kolom
FROM nama_tabel
WHERE nama_kolom NOT BETWEEN nilai_awal AND nilai_akhir;
3. Rentang Angka
Cara Menggunakan BETWEEN
untuk Rentang Angka
Operator BETWEEN
sangat berguna untuk menentukan rentang angka. Misalnya, jika ingin mengambil data karyawan dengan gaji antara 50000 dan 100000, query akan ditulis sebagai berikut:
SELECT employee_id, name, salary
FROM employees
WHERE salary BETWEEN 50000 AND 100000;
Contoh Data:
employee_id | name | salary |
---|---|---|
1 | Sato | 45000 |
2 | Suzuki | 55000 |
3 | Takahashi | 75000 |
4 | Tanaka | 120000 |
Hasil Eksekusi:
employee_id | name | salary |
---|---|---|
2 | Suzuki | 55000 |
3 | Takahashi | 75000 |
Query di atas hanya memilih karyawan dengan gaji dalam rentang 50000 hingga 100000.
Perbedaan dengan Operator Perbandingan
Kondisi yang sama bisa ditulis dengan operator perbandingan seperti berikut:
SELECT employee_id, name, salary
FROM employees
WHERE salary >= 50000 AND salary <= 100000;
Dengan BETWEEN
, query menjadi lebih ringkas dan mudah dibaca. Hal ini sangat membantu jika ada banyak kondisi rentang dalam query.

4. Rentang Tanggal
Menggunakan BETWEEN
untuk Data Tanggal
Operator BETWEEN
juga bisa digunakan untuk menentukan rentang tanggal. Misalnya, untuk mengambil data pesanan dari 1 Januari 2024 hingga 31 Desember 2024:
SELECT order_id, customer_id, order_date
FROM orders
WHERE order_date BETWEEN '2024-01-01' AND '2024-12-31';
Contoh Data:
order_id | customer_id | order_date |
---|---|---|
1 | 101 | 2024-01-15 |
2 | 102 | 2024-05-30 |
3 | 103 | 2025-03-01 |
Hasil Eksekusi:
order_id | customer_id | order_date |
---|---|---|
1 | 101 | 2024-01-15 |
2 | 102 | 2024-05-30 |
Dengan cara ini, operator BETWEEN
akan mengekstrak data yang berada dalam rentang tanggal yang ditentukan.
Penanganan Data Waktu
Jika data tanggal juga menyertakan waktu, perlu diperhatikan. Misalnya, jika kolom order_date
bertipe DATETIME
, maka penggunaan BETWEEN
akan mencakup mulai dari pukul 00:00:00 pada tanggal awal hingga 00:00:00 tanggal berikutnya setelah tanggal akhir.
WHERE order_date BETWEEN '2024-01-01 00:00:00' AND '2024-12-31 23:59:59';
5. Rentang String
Menggunakan BETWEEN
untuk Data String
Operator BETWEEN
juga dapat diterapkan pada data string. Misalnya, untuk mencari produk dengan nama yang berada pada rentang alfabet antara ‘A’ dan ‘M’:
SELECT product_id, product_name
FROM products
WHERE product_name BETWEEN 'A' AND 'M';
Contoh Data:
product_id | product_name |
---|---|
1 | Apple |
2 | Banana |
3 | Mango |
4 | Orange |
Hasil Eksekusi:
product_id | product_name |
---|---|
1 | Apple |
2 | Banana |
3 | Mango |
Catatan tentang Urutan Alfabet
Dalam menentukan rentang string, urutan alfabet digunakan sebagai dasar. Tergantung pada pengaturan database, huruf besar dan kecil bisa dibedakan. Misalnya, 'a'
dan 'A'
dapat dianggap berbeda.
6. Hal-hal yang Perlu Diperhatikan pada Operator BETWEEN
Perhatian saat Menentukan Rentang
Ketika menggunakan BETWEEN
, urutan nilai awal dan akhir sangat penting. Jika nilai awal lebih besar daripada nilai akhir, hasil query mungkin tidak sesuai harapan.
SELECT * FROM table_name WHERE column_name BETWEEN 100 AND 50; -- hasil tidak sesuai
Selain itu, BETWEEN
menyertakan kedua batas (inklusif), sehingga penting untuk memilih nilai awal dan akhir dengan cermat.
Penggunaan Indeks dan Efisiensi
Performa BETWEEN
setara dengan operator perbandingan biasa. Namun, untuk mengoptimalkan performa query, indeks yang tepat perlu ditetapkan. Misalnya, memberi indeks pada kolom tanggal akan mempercepat eksekusi query dengan rentang tanggal.
7. Query Praktis dan Contoh Penerapan
Menggunakan BETWEEN pada Beberapa Kolom
Operator BETWEEN
juga bisa digunakan pada beberapa kolom secara bersamaan. Misalnya, mencari produk berdasarkan harga dan jumlah stok dalam rentang tertentu:
SELECT product_name, price, stock
FROM products
WHERE price BETWEEN 1000 AND 5000
AND stock BETWEEN 50 AND 200;
Query ini mencari produk dengan harga antara 1000 hingga 5000 dan stok antara 50 hingga 200.
Contoh Penerapan NOT BETWEEN
Dengan NOT BETWEEN
, kita bisa mengambil data di luar rentang. Misalnya, untuk mencari karyawan dengan gaji kurang dari 50000 atau lebih dari 100000:
SELECT employee_id, name, salary
FROM employees
WHERE salary NOT BETWEEN 50000 AND 100000;
Hasil Eksekusi:
employee_id | name | salary |
---|---|---|
1 | Sato | 45000 |
4 | Tanaka | 120000 |
Dengan cara ini, mudah untuk mengekstrak data di luar rentang menggunakan NOT BETWEEN
.
8. Contoh Visual Query
Untuk memperjelas hasil query, kita bisa menggunakan ilustrasi sederhana. Misalnya:
Rentang harga: [----- 1000 ---- 5000 -----]
Harga Produk A: 3000 (dalam rentang)
Harga Produk B: 6000 (di luar rentang)
Dengan ilustrasi, lebih mudah memahami apakah data termasuk dalam rentang yang ditentukan.
9. Kesimpulan
Operator BETWEEN
sangat berguna dalam MySQL untuk pencarian berdasarkan rentang nilai. Operator ini bisa digunakan untuk angka, tanggal, maupun string, membuat query lebih ringkas dan efisien. Namun, perlu diingat bahwa kedua batas (awal dan akhir) disertakan, serta pentingnya penggunaan indeks untuk performa. Dengan memahami hal ini, kita bisa mengoptimalkan query database dan mengekstrak data dengan lebih efisien.
10. Referensi
Untuk detail lebih lanjut, sebaiknya merujuk pada dokumentasi resmi MySQL atau buku-buku khusus tentang database. Selain itu, mencoba langsung menulis dan mengeksekusi query akan membantu memperdalam pemahaman tentang operator BETWEEN
.