Panduan Lengkap MySQL BETWEEN: Cara Menggunakan untuk Angka, Tanggal, dan String

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_idnamesalary
1Sato45000
2Suzuki55000
3Takahashi75000
4Tanaka120000

Hasil Eksekusi

employee_idnamesalary
2Suzuki55000
3Takahashi75000

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_idcustomer_idorder_date
11012024-01-15
21022024-05-30
31032025-03-01

Hasil Eksekusi

order_idcustomer_idorder_date
11012024-01-15
21022024-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_idproduct_name
1Apple
2Banana
3Mango
4Orange

Hasil Eksekusi

product_idproduct_name
1Apple
2Banana
3Mango

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_idnamesalary
1Sato45000
4Tanaka120000

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.