Between clause tidak hanya digunakan pada select statement saja, tetapi dapat digunakan juga pada update dan delete statement juga.
Sintak Dasar
Di bawah ini adalah sintak dasar penggunaan Between clause pada select statement:
SELECT nama_kolom1, nama_kolom2, nama_kolom3,... FROM nama_tabel WHERE nama_kolom BETWEEN awal_range AND akhir_range;
Dimana,
- nama_kolom1, nama_kolom2, nama_kolom3, dan seterusnya adalah kolom-kolom yang akan ditampilkan.
- nama_tabel adalah tabel yang datanya akan ditampilkan.
- awal_range dan akhir_range adalah batas awal dan batas akhir dari BETWEEN clause.
Contoh
Misalkan Anda telah memiliki sebuah tabel pegawai dengan data-data sebagai berikut:
mysql> SELECT * FROM karyawan; +------------+---------------+---------------+-----------+------+----------+------------+ | id_pegawai | nama_lengkap | jenis_kelamin | alamat | umur | gaji | departemen | +------------+---------------+---------------+-----------+------+----------+------------+ | P001 | Nursalim | L | Jakarta | 27 | 15000000 | IT | | P002 | Iskiyati | P | Bandung | 23 | 7000000 | MKT | | P003 | Nurul Hikmah | P | Semarang | 20 | 4000000 | HR | | P004 | Ahmad Fatoni | L | Cirebon | 26 | 10000000 | IT | | P005 | Sri Rahayu | P | Surabaya | 25 | 8000000 | ACC | | P006 | Naura Krasiva | P | Magelang | 21 | 3000000 | HR | | P007 | Ana Fauziyah | P | Tegal | 22 | 4500000 | SLS | | P008 | Irwan Gunawan | L | Tangerang | 30 | 11000000 | FIN | | P009 | Ali Amrullah | L | Jakarta | 28 | 8500000 | IT | | P010 | Andi Lala | L | Bogor | 23 | 6000000 | FIN | +------------+---------------+---------------+-----------+------+----------+------------+ 10 rows in set (0.00 sec)
Dari data-data diatas, coba Anda kerjakan soal-soal berikut ini:
- Tampilkan data pegawai yang memiliki rentang umur dari 25 sampai dengan 30 tahun?.
mysql> SELECT * FROM karyawan -> WHERE umur BETWEEN 25 AND 30; +------------+---------------+---------------+-----------+------+----------+------------+ | id_pegawai | nama_lengkap | jenis_kelamin | alamat | umur | gaji | departemen | +------------+---------------+---------------+-----------+------+----------+------------+ | P001 | Nursalim | L | Jakarta | 27 | 15000000 | IT | | P004 | Ahmad Fatoni | L | Cirebon | 26 | 10000000 | IT | | P005 | Sri Rahayu | P | Surabaya | 25 | 8000000 | ACC | | P008 | Irwan Gunawan | L | Tangerang | 30 | 11000000 | FIN | | P009 | Ali Amrullah | L | Jakarta | 28 | 8500000 | IT | +------------+---------------+---------------+-----------+------+----------+------------+ 5 rows in set (0.20 sec)
Query diatas equivalent dengan query di bawah ini:mysql> SELECT * FROM karyawan -> WHERE umur >= 25 AND umur <=30; +------------+---------------+---------------+-----------+------+----------+------------+ | id_pegawai | nama_lengkap | jenis_kelamin | alamat | umur | gaji | departemen | +------------+---------------+---------------+-----------+------+----------+------------+ | P001 | Nursalim | L | Jakarta | 27 | 15000000 | IT | | P004 | Ahmad Fatoni | L | Cirebon | 26 | 10000000 | IT | | P005 | Sri Rahayu | P | Surabaya | 25 | 8000000 | ACC | | P008 | Irwan Gunawan | L | Tangerang | 30 | 11000000 | FIN | | P009 | Ali Amrullah | L | Jakarta | 28 | 8500000 | IT | +------------+---------------+---------------+-----------+------+----------+------------+ 5 rows in set (0.00 sec)
- Tampilkan data pegawai yang memiliki rentang umur diluar dari 25 sampai dengan 30 tahun?.
mysql> SELECT * FROM karyawan -> WHERE umur NOT BETWEEN 25 AND 30; +------------+---------------+---------------+----------+------+---------+------------+ | id_pegawai | nama_lengkap | jenis_kelamin | alamat | umur | gaji | departemen | +------------+---------------+---------------+----------+------+---------+------------+ | P002 | Iskiyati | P | Bandung | 23 | 7000000 | MKT | | P003 | Nurul Hikmah | P | Semarang | 20 | 4000000 | HR | | P006 | Naura Krasiva | P | Magelang | 21 | 3000000 | HR | | P007 | Ana Fauziyah | P | Tegal | 22 | 4500000 | SLS | | P010 | Andi Lala | L | Bogor | 23 | 6000000 | FIN | +------------+---------------+---------------+----------+------+---------+------------+ 5 rows in set (0.00 sec)
Salam,
Nursalim
0 Comments