Cara Menggunakan Operator Like Di MySQL

Pada tutorial MySQL kali ini, kita akan belajar tentang Cara Menggunakan Operator Like. Operator Like digunakan untuk membandingkan sebuah nilai dengan nilai lainnya menggunakan tanda wildcard, yaitu biasanya tanda % (persen) dan tanda _ (underscore).

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

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)
    

Share this

Related Posts

Previous
Next Post »