Pada tutorial kali ini akan membahas tentang bagaimana caranya untuk menampilkan nilai di antara 2 nilai pada mysql.
Operator BETWEEN pada sql digunakan untuk menampilkan nilai yang berada di antara atau yang tidak berada di antara 2 nilai yang dibandingkan. Misal terdapat nilai dari 1 – 10.
Kemudian kita ingin menampilkan nilai yang berada di antara 2 – 7. Maka yang ditampilkan hanyalah 2, 3, 4, 5, 6, 7. Sedangkan bila kita ingin menampilkan nilai yang tidak berada di antara 2 – 7 maka nilai yang tampil adalah 1, 8, 9, 10.
Sekarang, mari kita buat contoh Databasenya terlebih dahulu.
1 |
create database if not exists cms; |
lalu kita gunakan database ini, dengan query use cms.
Setelah berhasil membuat Database, langkah selanjutnya adalah pembuatan table, table yang akan dibuat bernama product.
1 2 3 4 5 6 7 |
create table if not exists product( -> id_product int(2) primary key not null auto_increment, -> nama_product varchar(100) not null, -> harga int(2) not null, -> tgl_masuk date null -> ); Query OK, 0 rows affected (0.80 sec) |
Nah, sekarang langkah terakhir adalah memasukan 10 record ke dalam Database.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
insert into product values -> (1, 'apel', 3000, '2012-04-15'), -> (2, 'jeruk', 2500, '2012-04-15'), -> (3, 'pisang', 3000, '2012-04-16'), -> (4, 'melon', 13000, '2012-04-16'), -> (5, 'semangka', 25000, '2012-04-16'), -> (6, 'nanas', 10000, '2012-04-17'), -> (7, 'durian', 30000, '2012-04-17'), -> (8, 'anggur', 15000, '2012-04-18'), -> (9, 'duku', 15000, '2012-04-19'), -> (10, 'alpukat', 5000, '2012-04-20'); Query OK, 10 rows affected (0.10 sec) Records: 10 Duplicates: 0 Warnings: 0 |
Untuk melihat apakah 10 record di atas berhasil dimasukkan, kita dapat menggunakan perintah select*from product.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
select*from product; +------------+--------------+-------+------------+ | id_product | nama_product | harga | tgl_masuk | +------------+--------------+-------+------------+ | 1 | apel | 3000 | 2012-04-15 | | 2 | jeruk | 2500 | 2012-04-15 | | 3 | pisang | 3000 | 2012-04-16 | | 4 | melon | 13000 | 2012-04-16 | | 5 | semangka | 25000 | 2012-04-16 | | 6 | nanas | 10000 | 2012-04-17 | | 7 | durian | 30000 | 2012-04-17 | | 8 | anggur | 15000 | 2012-04-18 | | 9 | duku | 15000 | 2012-04-19 | | 10 | alpukat | 5000 | 2012-04-20 | +------------+--------------+-------+------------+ 10 rows in set (0.00 sec) |
Between (int)
Sekarang kita akan mencoba menampilkan Product berdasarkan nomor id – nya yang bertipe integer. Dalam contoh ini saya mencoba menampilkan Product yang memiliki id di antara 2 -7.
1 2 3 4 5 6 7 8 9 10 11 12 |
SELECT id_product, nama_product, harga FROM product WHERE id_product BETWEEN 2 AND 7; +------------+--------------+-------+ | id_product | nama_product | harga | +------------+--------------+-------+ | 2 | jeruk | 2500 | | 3 | pisang | 3000 | | 4 | melon | 13000 | | 5 | semangka | 25000 | | 6 | nanas | 10000 | | 7 | durian | 30000 | +------------+--------------+-------+ 6 rows in set (0.00 sec) |
Not Between (int)
Selain bisa menampilkan data yang berada di antara 2 nilai yang diberikan. Anda juga dapat menampilkan data yang dimana data ini tidak berada di antara 2 nilai yang diberikan. Jadi misalnya saya ingin menampilkan data yang tidak berada di antara 2 – 7, maka data yang tampil adalah 1, 8, 9 dan 10. Dalam kasus ini, anda tinggal menambahkan query NOT sebelum query BETWEEN.
Sintaks querynya adalah seperti ini :
1 2 3 4 |
SELECT column_1, column_2 FROM nama_table WHERE nama_kolom NOT BETWEEN nilai_1 AND nilai_2; |
Di bawah ini adalah contohnya.
1 2 3 4 5 6 7 8 9 10 |
SELECT id_product, nama_product, harga FROM product WHERE id_product NOT BETWEEN 2 AND 7; +------------+--------------+-------+ | id_product | nama_product | harga | +------------+--------------+-------+ | 1 | apel | 3000 | | 8 | anggur | 15000 | | 9 | duku | 15000 | | 10 | alpukat | 5000 | +------------+--------------+-------+ 4 rows in set (0.00 sec) |
Between (Text)
Selain mengambil data yang bertipe integer pada query Between, anda juga dapat menerapkan query Between ini pada tipe data Text. Namun syaratnya, kolom yang terpilih haruslah kolom yang bertipe data String. Karena yang akan kita query adalah huruf bukan angka.
Sintaks sederhananya adalah :
1 2 3 4 |
SELECT kolom_1, kolom_2 FROM product WHERE nama_kolom BETWEEN 'abjad' AND 'abjad'; |
Yang dimaksud abjad pada query di atas adalah huruf dari a – z, dan jangan lupakan dua tanda petik – nya.
Berikut contohnya :
1 2 3 4 5 6 7 8 9 10 11 |
SELECT nama_product, harga FROM product WHERE nama_product BETWEEN 'C' AND 'O'; +--------------+-------+ | nama_product | harga | +--------------+-------+ | jeruk | 2500 | | melon | 13000 | | nanas | 10000 | | durian | 30000 | | duku | 15000 | +--------------+-------+ 5 rows in set (0.05 sec) |
Not Between (Text)
Sama seperti pada tipe data integer, pada tipe data text anda juga dapat menampilkan data yang tidak berada di antara 2 nilai yang disajikan, anda hanya tinggal menambahkan query NOT sebelum BETWEEN.
1 2 3 4 5 6 7 8 9 10 11 |
SELECT nama_product, harga FROM product WHERE nama_product NOT BETWEEN 'c' AND 'o'; +--------------+-------+ | nama_product | harga | +--------------+-------+ | apel | 3000 | | pisang | 3000 | | semangka | 25000 | | anggur | 15000 | | alpukat | 5000 | +--------------+-------+ 5 rows in set (0.00 sec) |
Between (Date)
Query BETWEEN juga dapat diterapkan pada tipe data date.
1 2 3 4 5 6 7 8 9 10 11 12 |
SELECT nama_product, tgl_masuk FROM product WHERE tgl_masuk BETWEEN '2012-04-16' AND '2012-04-18'; +--------------+------------+ | nama_product | tgl_masuk | +--------------+------------+ | pisang | 2012-04-16 | | melon | 2012-04-16 | | semangka | 2012-04-16 | | nanas | 2012-04-17 | | durian | 2012-04-17 | | anggur | 2012-04-18 | +--------------+------------+ 6 rows in set (0.00 sec) |
Not Between (Date)
Pada tipe data date pun anda juga dapat menggunakan query NOT BETWEEN untuk menampilkan data yang tidak berada di antara 2 nilai yang disajikan. Caranya tinggal menambah query NOT sebelum BETWEEN.
1 2 3 4 5 6 7 8 9 10 |
SELECT nama_product, tgl_masuk FROM product WHERE tgl_masuk NOT BETWEEN '2012-04-16' AND '2012-04-18'; +--------------+------------+ | nama_product | tgl_masuk | +--------------+------------+ | apel | 2012-04-15 | | jeruk | 2012-04-15 | | duku | 2012-04-19 | | alpukat | 2012-04-20 | +--------------+------------+ 4 rows in set (0.00 sec) |
Demikian tutorial dari cara menampilkan nilai di antara 2 nilai pada mysql. Silahkan kunjungi tutorial lainnya seperti :