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)