Cara Menggunakan Where Clause Statement Di MySQL

Pada tutorial MySQL kali ini, kita akan belajar tentang Cara Menggunakan Where Clause Statement. Where Clause statement digunakan untuk menampilkan data sesuai dengan kondisi atau kriteria yang diperlukan atau untuk memfilter sebuah data.

Sebagai contoh, misalkan terdapat data-data pegawai disebuah perusahaan, maka untuk dapat menampilkan data pegawai berdasarkan jenis kelamin, range gaji, departement, dan lain sebagainya, Anda dapat menggunakan Where clause.

Sintak Dasar


Di bawah ini adalah sintak dasar Where Clause statement di MySQL:

SELECT column_name1, column_name2, column_name3, ..., colum_nameN 
FROM table_name
WHERE [condition]

Penjelasan sintak:

  • column_name1, column_name2, column_name3, dan seterusnya adalah nama-nama kolom di table yang akan ditampilkan.
  • table_name adalah nama table dimana datanya akan ditampilkan
  • condition adalah operator yang dapat Anda gunakan untuk memfilter data. Operator yang dapat Anda gunakan yaitu seperti operator =, !=, >, <, AND, OR, NOT, LIKE, BETWEEN, IN, IS NULL, IS NOT NULL, dan lain sebagainya.

Contoh


Misalkan Anda telah memiliki sebuah table "employee" dengan data-data sebagai berikut:

+-------------+---------------+--------+----------+---------+------------+
| employee_id | employee_name | gender | address  | salary  | departemen |
+-------------+---------------+--------+----------+---------+------------+
| 001         | Nursalim      | L      | Jakarta  | 3000000 | IT         |
| 002         | Naura         | P      | Bandung  | 2000000 | HRD        |
| 003         | Ahmad         | L      | Semarang | 5000000 | ACC        |
| 004         | Nani          | P      | Surabaya | 2500000 | FIN        |
| 005         | Nurul         | P      | Tegal    | 4500000 | FIN        |
+-------------+---------------+--------+----------+---------+------------+

Dari data-data diatas,

  • Tampilkan semua data dari table "employee" yang memiliki jenis kelamin atau gender laki-laki (L) ?
    Anda dapat menampilkan data sesuai dengan kriteria diatas dengan menggunakan query berikut ini:
    mysql> SELECT * FROM employee
        -> WHERE gender = 'L';
    +-------------+---------------+--------+----------+---------+------------+
    | employee_id | employee_name | gender | address  | salary  | departemen |
    +-------------+---------------+--------+----------+---------+------------+
    | 001         | Nursalim      | L      | Jakarta  | 3000000 | IT         |
    | 003         | Ahmad         | L      | Semarang | 5000000 | ACC        |
    +-------------+---------------+--------+----------+---------+------------+
    2 rows in set (0.00 sec)
    
  • Tampilkan semua data dari table "employee" yang memiliki gaji atau salary lebih dari Rp 3 Juta?
    Anda dapat menampilkan data sesuai dengan kriteria diatas dengan menggunakan query berikut ini:
    mysql> SELECT * FROM employee
        -> WHERE salary > 3000000;
    +-------------+---------------+--------+----------+---------+------------+
    | employee_id | employee_name | gender | address  | salary  | departemen |
    +-------------+---------------+--------+----------+---------+------------+
    | 003         | Ahmad         | L      | Semarang | 5000000 | ACC        |
    | 005         | Nurul         | P      | Tegal    | 4500000 | FIN        |
    +-------------+---------------+--------+----------+---------+------------+
    2 rows in set (0.00 sec)
    
  • Tampilkan semua data dari table "employee" yang memiliki nama dengan huruf depan adalah huruf N?
    Anda dapat menampilkan data sesuai dengan kriteria diatas dengan menggunakan operator LIKE seperti query berikut ini:
    mysql> SELECT * FROM employee
        -> WHERE employee_name like 'N%';
    +-------------+---------------+--------+----------+---------+------------+
    | employee_id | employee_name | gender | address  | salary  | departemen |
    +-------------+---------------+--------+----------+---------+------------+
    | 001         | Nursalim      | L      | Jakarta  | 3000000 | IT         |
    | 002         | Naura         | P      | Bandung  | 2000000 | HRD        |
    | 004         | Nani          | P      | Surabaya | 2500000 | FIN        |
    | 005         | Nurul         | P      | Tegal    | 4500000 | FIN        |
    +-------------+---------------+--------+----------+---------+------------+
    4 rows in set (0.03 sec)
    
  • Tampilkan semua data dari table "employee" yang memiliki jenis kelamin perempuan dan departemen FIN?
    Anda dapat menampilkan data sesuai dengan kriteria diatas dengan menggunakan operator AND seperti query berikut ini:
    mysql> SELECT * FROM employee
        -> WHERE gender = 'P'
        -> AND departemen = 'FIN';
    +-------------+---------------+--------+----------+---------+------------+
    | employee_id | employee_name | gender | address  | salary  | departemen |
    +-------------+---------------+--------+----------+---------+------------+
    | 004         | Nani          | P      | Surabaya | 2500000 | FIN        |
    | 005         | Nurul         | P      | Tegal    | 4500000 | FIN        |
    +-------------+---------------+--------+----------+---------+------------+
    2 rows in set (0.00 sec)
    
    
  • Tampilkan semua data dari table "employee" yang memiliki jenis kelamin perempuan atau departemen FIN?
    Anda dapat menampilkan data sesuai dengan kriteria diatas dengan menggunakan operator AND seperti query berikut ini:
    mysql> SELECT * FROM employee
        -> WHERE gender = 'P'
        -> OR departemen = 'FIN';
    +-------------+---------------+--------+----------+---------+------------+
    | employee_id | employee_name | gender | address  | salary  | departemen |
    +-------------+---------------+--------+----------+---------+------------+
    | 002         | Naura         | P      | Bandung  | 2000000 | HRD        |
    | 004         | Nani          | P      | Surabaya | 2500000 | FIN        |
    | 005         | Nurul         | P      | Tegal    | 4500000 | FIN        |
    +-------------+---------------+--------+----------+---------+------------+
    3 rows in set (0.00 sec)
    

Share this

Related Posts

Previous
Next Post »