Dalam pengelolaan basis data, seringkali kita perlu mengambil hanya sebagian data yang relevan dari tabel. MySQL menyediakan klausa WHERE
yang memungkinkan kita untuk melakukan filtering data berdasarkan kondisi tertentu. Dalam tutorial ini, kami akan mencoba menjelaskan cara menggunakan klausa WHERE
untuk melakukan filtering data dalam MySQL dengan penjelasan yang insyaAllah lengkap dan mudah dipahami, menggunakan contoh tabel “pengguna” yang telah kita buat sebelumnya.
Mengenal Klausa WHERE
Klausa WHERE
digunakan dalam perintah SELECT
untuk menyaring data dari tabel berdasarkan kondisi tertentu. Kondisi ini harus memenuhi persyaratan tertentu agar data dapat dimasukkan dalam hasil query. Berikut adalah format umum dari perintah SELECT
dengan klausa WHERE
:
1 2 3 | SELECT kolom1, kolom2, ... FROM nama_tabel WHERE kondisi; |
Keterangan:
kolom1, kolom2, ...
adalah daftar kolom yang ingin kita ambil dari tabel.nama_tabel
adalah nama tabel dari mana kita ingin mengambil data.WHERE kondisi
adalah bagian penting yang digunakan untuk menyaring data. Kondisi ini berisi ekspresi logis yang mengatur persyaratan untuk memilih data.
Contoh Penggunaan Klausa WHERE
Saatnya kita melihat contoh penggunaan klausa WHERE pada tabelĀ pengguna yang telah kita buat sebelumnya. Jika anda belum memiliki tabel pengguna, kami menyarankan kepada anda untuk mempelajari tutorial Pengenalan Tabel dan Struktur Tabel MySQL dan Memasukkan Data Pada Tabel MySQL.
1. Mengambil Data dengan Kondisi Sederhana
Misalkan kita ingin mengambil semua pengguna yang memiliki nama “Paijo” dari tabel “pengguna“. Berikut contoh penulisan perintah SQL-nya:
1 | SELECT * FROM pengguna WHERE nama = 'Alexander Paijo'; |
Hasil query ini hanya akan mengambil data pengguna yang memiliki nama “Alexander Paijo“. Jika kita lihat hasilnya akan seperti berikut ini:
1 2 3 4 5 6 7 | SELECT * FROM pengguna WHERE nama = 'Alexander Paijo'; +----+-----------------+---------------------------+---------------+ | id | nama | email | tanggal_lahir | +----+-----------------+---------------------------+---------------+ | 1 | Alexander Paijo | alexander@kelasringan.com | 1990-05-15 | +----+-----------------+---------------------------+---------------+ 1 row in set (0.001 sec) |
Selain menggunakan nama, kita juga dapat mengambil data berdasar id, email atau tangal_lahir.Ā Contohnya seperti ini:
1 2 3 4 5 6 7 | SELECT * FROM pengguna WHERE id = '12'; +----+---------------+-------------------------------+---------------+ | id | nama | email | tanggal_lahir | +----+---------------+-------------------------------+---------------+ | 12 | Rudi Hermawan | rudi.hermawan@kelasringan.com | 2000-08-22 | +----+---------------+-------------------------------+---------------+ 1 row in set (0.013 sec) |
Dari contoh di atas, kita mengambil data pengguna yang memilikiĀ idĀ bernilai 12, sehingga ditemukan dan ditampilkan data pengguna atas nama Rudi Hermawan.
2. Menggunakan Operator Perbandingan
Anda juga dapat menggunakan operator perbandingan seperti >
, <
, >=
, dan <=
untuk membuat kondisi yang lebih kompleks. Misalnya, jika Anda ingin mengambil pengguna yang lahir setelah tahun 1995:
1 | SELECT * FROM pengguna WHERE YEAR(tanggal_lahir) > 1995; |
Perintah SQL di atas akan mengambil semua pengguna yang lahir setelah tahun 1995 dengan menggunakan fungsi YEAR
untuk mengekstrak tahun dari kolom “tanggal_lahir.” Jika lihat hasilnya akan terlihat seperti ini:
1 2 3 4 5 6 7 | SELECT * FROM pengguna WHERE YEAR(tanggal_lahir) > 1995; +----+---------------+-------------------------------+---------------+ | id | nama | email | tanggal_lahir | +----+---------------+-------------------------------+---------------+ | 9 | Rina Putri | rina.putri@kelasringan.com | 1997-06-12 | | 12 | Rudi Hermawan | rudi.hermawan@kelasringan.com | 2000-08-22 | +----+---------------+-------------------------------+---------------+ |
3. Menggabungkan Kondisi
Kita dapat menggabungkan beberapa kondisi dengan menggunakan operator logis seperti AND
, OR
, dan NOT
. Misalnya, jika kita ingin mengambil pengguna yang lahir setelah tahun 1995 dan memiliki nama “Rina Putri“. kita dapat melakukannya seperti ini:
1 2 3 4 5 6 7 | SELECT * FROM pengguna WHERE YEAR(tanggal_lahir) > 1995 AND nama = 'Rina Putri'; +----+------------+----------------------------+---------------+ | id | nama | email | tanggal_lahir | +----+------------+----------------------------+---------------+ | 9 | Rina Putri | rina.putri@kelasringan.com | 1997-06-12 | +----+------------+----------------------------+---------------+ 1 row in set (0.001 sec) |
Hasilnya hanya akan mengambil pengguna yang lahir setelah tahun 1995 dan bernama “Rina Putri”.
4. Menggunakan Wildcard
Kita juga dapat menggunakan wildcard seperti %
untuk melakukan pencarian yang lebih fleksibel. Misalnya, jika kita ingin mengambil pengguna yang nama depannya diawali dengan huruf “A,” kita dapat melakukannya dengan perintah seperti ini:
1 | SELECT * FROM pengguna WHERE nama LIKE 'A%'; |
Perintah SQL di atas akan mengambil semua pengguna yang nama diawali dengan huruf “A“. Hasilnya dapat kita lihat seperti berikut ini:
1 2 3 4 5 6 7 8 9 10 | SELECT * FROM pengguna WHERE nama LIKE 'A%'; +----+-----------------+------------------------------+---------------+ | id | nama | email | tanggal_lahir | +----+-----------------+------------------------------+---------------+ | 1 | Alexander Paijo | alexander@kelasringan.com | 1990-05-15 | | 2 | Abraham Budi | abraham@kelasringan.com | 1980-09-10 | | 7 | Anita Sari | anita.sari@kelasringan.com | 1992-11-05 | | 10 | Arief Wibowo | arief.wibowo@kelasringan.com | 1981-12-18 | +----+-----------------+------------------------------+---------------+ 4 rows in set (0.005 sec) |
Klausa WHERE
adalah bagian dalam SQL yang memungkinkan kita untuk melakukan filtering data berdasarkan kondisi tertentu. Dengan menggunakan kondisi yang tepat, kita dapat mengambil data yang sesuai dengan kebutuhan kita dari tabel basis data MySQL. Pemahaman yang baik tentang klausa WHERE
akan membantu kita untuk dapat mengelola data dengan lebih efektif dalam pengelolaan basis data.
Daftar atau list tutorial MySQL dapat anda lihat diĀ Index Tutorial MySQL: Belajar MySQL Dari Dasar.