Sebagai ilustrasi, perhatikan contoh di bawah ini:
- WHERE NAMA LIKE '%Ahmad%', artinya menampilkan data yang mengandung kata Ahmad.
- WHERE NAMA LIKE 'Ahmad%', artinya menampilkan data yang diawali kata Ahmad.
- WHERE NAMA LIKE '%Ahmad', artinya menampilkan data yang diakhiri dengan kata Ahmad.
- WHERE SALARY LIKE '_00%', artinya menampilkan data salary yang memiliki 00 pada posisi kedua.
- WHERE SALARY LIKE '1___5', artinya menampilkan data salary memiliki panjang 5 digit, diawali dengan angka 1, dan diakhiri dengan angka 5.
Operator Like tidak hanya digunakan pada Select statement saja, tetapi dapat Anda gunakan pada Update dan Delete statement juga.
Sintak Dasar
Di bawah ini adalah sintak dasar dari operator Like di MySQL:
SELECT FROM table_name WHERE column_name LIKE 'XXXX%' atau SELECT FROM table_name WHERE column_name LIKE '%XXXX%' atau SELECT FROM table_name WHERE column_name LIKE 'XXXX_' atau SELECT FROM table_name WHERE column_name LIKE '_XXXX' atau SELECT FROM table_name WHERE column_name LIKE '_XXXX_'
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 data dari table employee yang memiliki employee_name yang diawali dengan huruf "N"?
Untuk menampilkan data sesuai dengan kriteria diatas, Anda dapat menggunakan 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.00 sec)
- Tampilkan data dari table employee yang memiliki employee_name yang mengandung huruf 'm'?
Untuk menampilkan data sesuai dengan kriteria diatas, Anda dapat menggunakan query berikut ini :
mysql> SELECT * FROM employee -> WHERE employee_name LIKE '%m%'; +-------------+---------------+--------+----------+---------+------------+ | 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 data dari table employee yang memiliki address yang diakhiri dengan huruf 'a'?
Untuk menampilkan data sesuai dengan kriteria diatas, Anda dapat menggunakan query berikut ini :
mysql> SELECT * FROM employee -> WHERE address LIKE '%a'; +-------------+---------------+--------+----------+---------+------------+ | employee_id | employee_name | gender | address | salary | departemen | +-------------+---------------+--------+----------+---------+------------+ | 001 | Nursalim | L | Jakarta | 3000000 | IT | | 004 | Nani | P | Surabaya | 2500000 | FIN | +-------------+---------------+--------+----------+---------+------------+ 2 rows in set (0.00 sec)