WHERE Clause pada perintah SELECT digunakan untuk menyeleksi data atau record sesuai dengan kondisi yang diinginkan.
Sintak Dasar
Dibawah ini adalah sintak dasar perintah SELECT dengan WHERE Clause.SELECT * FROM nama_table WHERE kondisi;
Contoh:
SELECT * FROM mahasiswa WHERE nama = 'Budi';
Perintah diatas akan menampilkan data dari table mahasiswa yang bernama 'Budi'.
Operator Yang Digunakan
Di bawah ini adalah tabel operator-operator yang sering digunakan dalam WHERE Clause di SELECT Statement.Operator | Keterangan |
---|---|
= | Sama dengan |
!= atau <> | Tidak sama dengan |
> | Lebih besar dari |
>= | Lebih besar dari atau sama dengan |
< | Kurang dari |
<= | Kurang dari atau sama dengan |
IS NULL | Apakah record sama dengan null |
IS NOT NULL | Apakah record tidak sama dengan null |
IN | Apakah record berada dalam |
NOT IN | Apakah record berada diluar |
LIKE | Pencarian record berdasarkan wildcard |
NOT LIKE | Pencarian record tidak berdasarkan wildcard |
BETWEEN | Pencarian record berada dalam range antara nilai minimum dan maksimum |
AND | Logika AND (dan) |
OR | Logika OR (atau) |
Contoh Kasus
Untuk lebih memperjelas pokok bahasan tutorial ini, saya akan memberikan beberapa contoh kasus yang sering banyak digunakan dalam penggunaan WHERE clause.Silahkan anda ikuti langkah-langkah di bawah ini.
- Login ke Database MySQL
# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.5.36 MySQL Community Server (GPL) Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement
- Pilih database yang digunakan
mysql> use akademik; Database changed
- Buat table MAHASISWA untuk menampung data mahasiswa dengan seperti dibawah ini
mysql> CREATE TABLE mahasiswa( -> npm VARCHAR(10), -> nama VARCHAR(30), -> gender VARCHAR(1), -> asal VARCHAR(30), -> jurusan VARCHAR(30), -> ipk DOUBLE(3,2), -> PRIMARY KEY(npm) -> ); Query OK, 0 rows affected (0.15 sec)
- Isi data atau Insert Data MAHASISWA dengan data seperti di bawah ini
NPM Nama Gender Asal Jurusan IPK 20151001 Nurul P Jakarta Akuntansi 3,1 20152001 Budi L Bandung Teknik Mesin 2,9 20153001 Ida P Semarang Sastra Inggris 3,5 20154001 Eko L Jakarta Teknik Informatika 3,25 20151002 Dina P Surabaya Akuntansi 3,3 20154002 Doni L Makassar Teknik Informatika 2,75 20154003 Dinda P Jakarta Teknik Informatika 3,65 20151003 Naura P Bandung Akuntansi 2,85 20153002 Soni L Surabaya Sastra Inggris 3,3 20154004 Iski P Semarang Teknik Informatika 3,8
mysql> INSERT INTO mahasiswa -> VALUES('20151001','Nurul','P','Jakarta','Akuntansi',3.1); Query OK, 1 row affected (0.07 sec) mysql> INSERT INTO mahasiswa -> VALUES('20152001','Budi','L','Bandung','Teknik Mesin',2.9); Query OK, 1 row affected (0.06 sec) mysql> INSERT INTO mahasiswa -> VALUES('20153001','Ida','P','Semarang','Sastra Inggris',3.5); Query OK, 1 row affected (0.11 sec) mysql> INSERT INTO mahasiswa -> VALUES('20154001','Eko','L','Jakarta','Teknik Informatika',3.25); Query OK, 1 row affected (0.12 sec) mysql> INSERT INTO mahasiswa -> VALUES('20151002','Dina','P','Surabaya','Akuntansi',3.3); Query OK, 1 row affected (0.06 sec) mysql> INSERT INTO mahasiswa -> VALUES('20154002','Doni','L','Makassar','Teknik Informatika',2.75); Query OK, 1 row affected (0.07 sec) mysql> INSERT INTO mahasiswa -> VALUES('20154003','Dinda','P','Jakarta','Teknik Informatika',3.65); Query OK, 1 row affected (0.04 sec) mysql> INSERT INTO mahasiswa -> VALUES('20151003','Naura','P','Bandung','Akuntansi',2.85); Query OK, 1 row affected (0.09 sec) mysql> INSERT INTO mahasiswa -> VALUES('20154004','Iski','P','Semarang','Teknik Informatika',3.8); Query OK, 1 row affected (0.09 sec)
- Tampilkan semua data Mahasiswa
mysql> SELECT * FROM mahasiswa; +----------+-------+--------+----------+--------------------+------+ | npm | nama | gender | asal | jurusan | ipk | +----------+-------+--------+----------+--------------------+------+ | 20151001 | Nurul | P | Jakarta | Akuntansi | 3.10 | | 20151002 | Dina | P | Surabaya | Akuntansi | 3.30 | | 20151003 | Naura | P | Bandung | Akuntansi | 2.85 | | 20152001 | Budi | L | Bandung | Teknik Mesin | 2.90 | | 20153001 | Ida | P | Semarang | Sastra Inggris | 3.50 | | 20153002 | Soni | L | Surabaya | Sastra Inggris | 3.30 | | 20154001 | Eko | L | Jakarta | Teknik Informatika | 3.25 | | 20154002 | Doni | L | Makassar | Teknik Informatika | 2.75 | | 20154003 | Dinda | P | Jakarta | Teknik Informatika | 3.65 | | 20154004 | Iski | P | Semarang | Teknik Informatika | 3.80 | +----------+-------+--------+----------+--------------------+------+ 10 rows in set (0.00 sec)
- Tampilkan semua data Mahasiswa yang berjenis kelamin Pria
mysql> SELECT * FROM mahasiswa -> WHERE gender = 'L'; +----------+------+--------+----------+--------------------+------+ | npm | nama | gender | asal | jurusan | ipk | +----------+------+--------+----------+--------------------+------+ | 20152001 | Budi | L | Bandung | Teknik Mesin | 2.90 | | 20153002 | Soni | L | Surabaya | Sastra Inggris | 3.30 | | 20154001 | Eko | L | Jakarta | Teknik Informatika | 3.25 | | 20154002 | Doni | L | Makassar | Teknik Informatika | 2.75 | +----------+------+--------+----------+--------------------+------+ 4 rows in set (0.00 sec)
- Tampilkan data mahasiswa berjenis kelamin pria dan yang mempunyai jurusan Teknik Informatika
mysql> SELECT * FROM mahasiswa -> WHERE gender = 'L' -> AND jurusan = 'Teknik Informatika'; +----------+------+--------+----------+--------------------+------+ | npm | nama | gender | asal | jurusan | ipk | +----------+------+--------+----------+--------------------+------+ | 20154001 | Eko | L | Jakarta | Teknik Informatika | 3.25 | | 20154002 | Doni | L | Makassar | Teknik Informatika | 2.75 | +----------+------+--------+----------+--------------------+------+ 2 rows in set (0.00 sec)
- Tampilkan data mahasiswa yang berasal dari Jakarta atau mempunyai jurusan Sastra Inggris
mysql> SELECT * FROM mahasiswa -> WHERE asal = 'Jakarta' -> OR jurusan = 'Sastra Inggris'; +----------+-------+--------+----------+--------------------+------+ | npm | nama | gender | asal | jurusan | ipk | +----------+-------+--------+----------+--------------------+------+ | 20151001 | Nurul | P | Jakarta | Akuntansi | 3.10 | | 20153001 | Ida | P | Semarang | Sastra Inggris | 3.50 | | 20153002 | Soni | L | Surabaya | Sastra Inggris | 3.30 | | 20154001 | Eko | L | Jakarta | Teknik Informatika | 3.25 | | 20154003 | Dinda | P | Jakarta | Teknik Informatika | 3.65 | +----------+-------+--------+----------+--------------------+------+ 5 rows in set (0.00 sec)
- Tampilkan data mahasiswa yang IPK-nya antara 2,5 sampai 3,25
mysql> SELECT * FROM mahasiswa -> WHERE ipk BETWEEN 2.5 AND 3.25; +----------+-------+--------+----------+--------------------+------+ | npm | nama | gender | asal | jurusan | ipk | +----------+-------+--------+----------+--------------------+------+ | 20151001 | Nurul | P | Jakarta | Akuntansi | 3.10 | | 20151003 | Naura | P | Bandung | Akuntansi | 2.85 | | 20152001 | Budi | L | Bandung | Teknik Mesin | 2.90 | | 20154001 | Eko | L | Jakarta | Teknik Informatika | 3.25 | | 20154002 | Doni | L | Makassar | Teknik Informatika | 2.75 | +----------+-------+--------+----------+--------------------+------+ 5 rows in set (0.00 sec)
- Tampilkan data mahasiswa yang IPK-nya diatas 3,5
mysql> SELECT * FROM mahasiswa -> WHERE ipk > 3.5; +----------+-------+--------+----------+--------------------+------+ | npm | nama | gender | asal | jurusan | ipk | +----------+-------+--------+----------+--------------------+------+ | 20154003 | Dinda | P | Jakarta | Teknik Informatika | 3.65 | | 20154004 | Iski | P | Semarang | Teknik Informatika | 3.80 | +----------+-------+--------+----------+--------------------+------+ 2 rows in set (0.00 sec)
- Tampilkan data mahasiswa yang mempunyai asal dari Jakarta, Bandung, dan Semarang
mysql> SELECT * FROM mahasiswa -> WHERE asal in ('Jakarta','Bandung','Semarang'); +----------+-------+--------+----------+--------------------+------+ | npm | nama | gender | asal | jurusan | ipk | +----------+-------+--------+----------+--------------------+------+ | 20151001 | Nurul | P | Jakarta | Akuntansi | 3.10 | | 20151003 | Naura | P | Bandung | Akuntansi | 2.85 | | 20152001 | Budi | L | Bandung | Teknik Mesin | 2.90 | | 20153001 | Ida | P | Semarang | Sastra Inggris | 3.50 | | 20154001 | Eko | L | Jakarta | Teknik Informatika | 3.25 | | 20154003 | Dinda | P | Jakarta | Teknik Informatika | 3.65 | | 20154004 | Iski | P | Semarang | Teknik Informatika | 3.80 | +----------+-------+--------+----------+--------------------+------+ 7 rows in set (0.00 sec)
- Tampilkan data mahasiswa yang namanya di awali dengan huruf "D"
mysql> SELECT * FROM mahasiswa -> WHERE nama like 'D%'; +----------+-------+--------+----------+--------------------+------+ | npm | nama | gender | asal | jurusan | ipk | +----------+-------+--------+----------+--------------------+------+ | 20151002 | Dina | P | Surabaya | Akuntansi | 3.30 | | 20154002 | Doni | L | Makassar | Teknik Informatika | 2.75 | | 20154003 | Dinda | P | Jakarta | Teknik Informatika | 3.65 | +----------+-------+--------+----------+--------------------+------+ 3 rows in set (0.00 sec)
- Tampilkan data mahasiswa yang namanya di akhiri dengan huruf "a"
mysql> SELECT * FROM mahasiswa -> WHERE nama like '%a'; +----------+-------+--------+----------+--------------------+------+ | npm | nama | gender | asal | jurusan | ipk | +----------+-------+--------+----------+--------------------+------+ | 20151002 | Dina | P | Surabaya | Akuntansi | 3.30 | | 20151003 | Naura | P | Bandung | Akuntansi | 2.85 | | 20153001 | Ida | P | Semarang | Sastra Inggris | 3.50 | | 20154003 | Dinda | P | Jakarta | Teknik Informatika | 3.65 | +----------+-------+--------+----------+--------------------+------+ 4 rows in set (0.00 sec)
Referensi
Sekian tutorial Singkat Bagaimana Cara Menggunakan WHERE Clause Query di MySQL. Semoga bermanfaat & Selamat Belajar database MySQL.
Jika Anda menyukai tutorial ini, silahkan anda share dan bagikan dengan teman-teman Anda, dan jika Anda ingin berdiskusi tentang judul tutorial diatas, atau pun mau bertanya tentang tutorial ini silahkan Anda untuk menggunakan fasilitas komentar untuk berdiskusi dan bertanya di blog ini.
Salam,
Naura-Lab
8 comments
sharing kembali untuk penampilan data yang di ambil dari 2/3 tabel bagaimana
Replygood articel
Replybagus banget. aku suka artikelnya membantu sekali
Replykeren gan,mudah dipahami
Replyterima kasih sdr admin
Replysemoga sehat selalu dan bisa terus menyediakan bahan belajar untuk kami
ntaps
Replymau nanya ni gan.. gimana kalau kondisinya seperti ini
ReplySELECT * FROM mahasiswa WHERE nama like '%a' and jurusan like '%a';
kiding di atas salah, mohon pentunjuk gan..
Good Article
ReplyPost a Comment