Bagaimana Cara Menggunakan WHERE Clause di MySQL

Pada tutorial MySQL sebelumnya, Kita telah belajar Bagaimana Cara Menggunakan Perintah SELECT Query di MySQL. Pada pokok bahasan tutorial kali ini, kita akan belajar lebih mendalam tentang perintah SELECT yaitu dengan menambahkan WHERE Clause pada perintah tersebut.



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.
  1. 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
    

  2. Pilih database yang digunakan

    mysql> use akademik;
    Database changed
    

  3. 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)
    
    
  4. 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)
    
    
  5. 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)
    
    
  6. 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)
    
    
  7. 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)
    
    
  8. 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)
    
    
  9. 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)
    
    
  10. 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)
    
    
  11. 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)
    
    
  12. 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)
    
    
  13. 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

Jika Anda rasa artikel ini bermanfaat, saya sangat berterima kasih bila Anda mau membagikannya ke teman. Jangan lupa dapatkan update artikel terbaru dari Naura-Lab melalui email:

8 comments

sharing kembali untuk penampilan data yang di ambil dari 2/3 tabel bagaimana

Reply

bagus banget. aku suka artikelnya membantu sekali

Reply

keren gan,mudah dipahami

Reply

terima kasih sdr admin
semoga sehat selalu dan bisa terus menyediakan bahan belajar untuk kami

Reply

mau nanya ni gan.. gimana kalau kondisinya seperti ini

SELECT * FROM mahasiswa WHERE nama like '%a' and jurusan like '%a';

kiding di atas salah, mohon pentunjuk gan..

Reply

Post a Comment