Menggunakan Operator LIKE Di MySQL

Pada tutorial kali ini, kita akan belajar tentang Cara Menggunakan Operator LIKE Di MySQL. Operator LIKE digunakan untuk menampilkan data sesuai dengan pola (pattern) tertentu.

Sebagai contoh, misalkan Anda ditugaskan oleh atasan Anda untuk menampilkan data karyawan yang mempunyai nama dengan huruf depannya 'A' atau juga Anda ditugaskan untuk menampilkan data karyawan yang mempunyai nama dengan huruf belakangnya huruf 'I', dan lain sebagainya.

Ada 2 macam jenis pola dalam operator Like, yaitu:

  1. % (percent) wildcard

    Digunakan untuk mengecek string sesuai dengan pola yang sesuai (matching), misalkan
    • %ahmad% : Akan mencari sebuah string yang mengandung kata 'ahmad', misalkan ahmad nursalim, mirza ahmad, dan lain sebagainya.
    • ahmad% : Akan mencari sebuah string yang mengandung kata 'ahmad' di awal string, misalkan 'ahmad nursalim', 'ahmad baihaqi', dan lain sebagainya.
    • %ahmad : Akan mencari sebuah string yang mengandung kata 'ahmad' di akhir string, misalkan 'mirza ahmad', 'dani ahmad', dan lain sebagainya.

  2. _ (underscore) wildcard

    Digunakan untuk mengecek karakter tunggal sesuai dengan pola yang sesuai (matching) dalam sebuah string, misalkan
    • T_ : Akan mencari sebuah string yang di awali dengan huruf 'T', misalkan 'Tono','Toni','Tina', dan lain sebagainya.
    • _t : Akan mencari sebuah string yang di akhiri dengan huruf 't', misalkan 'Janet','Butet','Didit', dan lain sebagainya.
    • A_t : Akan mencari sebuah string yang di awali dengan huruf 'A' dan di akhiri dengan huruf 't', misalkan 'Adit','Abbot','Askimet', dan lain sebagainya.

Sintak Dasar

Di bawah ini adalah sintak dasar penggunakan Operator Like Di MySQL:

SELECT * FROM table_name
WHERE column_name LIKE 'pattern';

Penjelasan sintak:

  • 'pattern' adalah pola yang akan digunakan dalam operator Like, yaitu '%' dan '_'

Contoh

Sebagai contoh latihan untuk mendalami penggunakan operator Like Di MySQL, coba Anda ikuti langkah-langkah berikut ini:

  • Buat sebuah tabel dengan nama "TBL_PEGAWAI" dengan menjalankan script SQL di bawah ini:

    CREATE TABLE tbl_pegawai (
      id_pegawai INT(5) NOT NULL AUTO_INCREMENT,
      nama_pegawai VARCHAR(20) DEFAULT NULL,
      jenis_kelamin CHAR(1) DEFAULT NULL,
      gaji DECIMAL(10,0) DEFAULT NULL,
      alamat VARCHAR(20) DEFAULT NULL,
      departemen VARCHAR(5) DEFAULT NULL,
      PRIMARY KEY (id_pegawai)
    ) ENGINE=InnoDB
    

  • Masukkan data ke dalam tabel "TBL_PEGAWAI" dengan menjalankan script SQL di bawah ini:

    INSERT INTO tbl_pegawai(nama_pegawai, jenis_kelamin, gaji, alamat, departemen)
        VALUES('Nursalim', 'L', 1000000, 'Brebes', 'IT');
    INSERT INTO tbl_pegawai(nama_pegawai, jenis_kelamin, gaji, alamat, departemen)
        VALUES('Naura Krasiva', 'P', 1500000, 'Tegal', 'FIN');
    INSERT INTO tbl_pegawai(nama_pegawai, jenis_kelamin, gaji, alamat, departemen)
        VALUES('Nurul Anawariyah', 'P', 2000000, 'Pemalang', 'HRD');
    INSERT INTO tbl_pegawai(nama_pegawai, jenis_kelamin, gaji, alamat, departemen)
        VALUES('Achmad Fathoni', 'L', 3000000, 'Batang', 'IT');
    INSERT INTO tbl_pegawai(nama_pegawai, jenis_kelamin, gaji, alamat, departemen)
        VALUES('Nurul Hikmah', 'P', 9000000, 'Pekalongan', 'DIR');
    INSERT INTO tbl_pegawai(nama_pegawai, jenis_kelamin, gaji, alamat, departemen)
        VALUES('Iskiyati', 'P', 3000000, 'Semarang', 'ACC');
    INSERT INTO tbl_pegawai(nama_pegawai, jenis_kelamin, gaji, alamat, departemen)
        VALUES('Dodi Al Farizi', 'L', 3000000, 'Kendal', 'FIN');
    INSERT INTO tbl_pegawai(nama_pegawai, jenis_kelamin, gaji, alamat, departemen)
        VALUES('Susanto', 'L', 4500000, 'Cilacap', 'MKT');
    INSERT INTO tbl_pegawai(nama_pegawai, jenis_kelamin, gaji, alamat, departemen)
        VALUES('Susanti', 'P', 43500000, 'Banyumas', 'MKT');
    INSERT INTO tbl_pegawai(nama_pegawai, jenis_kelamin, gaji, alamat, departemen)
        VALUES('Doni Nugroho', 'L', 3750000, 'Pemalang', 'HRD');
    

  • Tampilkan semua data dari tabel "TBL_PEGAWAI"

    SELECT * FROM tbl_pegawai;
    
    
  • Tampilkan semua data pegawai yang mempunyai nama dengan huruf depan "N".

    Untuk menampilkan data sesuai dengan kriteria diatas, Anda dapat menjalankan query di bawah ini:

    SELECT * FROM tbl_pegawai
    WHERE nama_pegawai like 'N_';
    

    Atau Anda juga dapat menggunakan query di bawah ini:

    SELECT * FROM tbl_pegawai
    LIKE nama_pegawai LIKE '%N';
    

  • Tampilkan semua data pegawai yang mempunyai nama dengan huruf belakang "i".

    Untuk menampilkan data sesuai dengan kriteria diatas, Anda dapat menjalankan query di bawah ini:

    SELECT * FROM tbl_pegawai
    WHERE nama LIKE '_i'; 
    

    Atau Anda juga dapat menggunakan query di bawah ini:

    SELECT * FROM tbl_pegawai
    WHERE nama like 'i%';
    
Share on Google Plus

About Unknown

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment
    Facebook Comment

3 komentar: