LIKE

LIKE adalah klausa SQL yang bisa digunakan bersama dengan klausa WHERE. Like digunakan untuk mencari isi kolom berdasarkan pola tertentu. Sintaks penulisannya adalah seperti di bawah ini.

  • Statement Where 'nama_kolom' LIKE 'pola_yang _dicari'

Saat menggunakan like, beberapa karakter jadi punya kegunaan khusus. Karakter tersebut bisa kalian lihat di bawah ini.

  • _ : mewakili satu karakter apapun
  • % : wildcard, mewakili rangkaian karakter.
  • [ ] : Mewakili salah satu karakter yang terdapat di dalamnya.

Contoh Query :

  • SELECT * FROM siswa where nama LIKE '%omi%'
  • SELECT * FROM siswa where nama LIKE '_omi'
  • SELECT * FROM siswa where nama LIKE '[TR]omi'

Contoh penggunaan like dalam kode program bisa kalian lihat di bawah ini.

//install librarynya kalau belum ada
#include <iostream>
#include <sqlite3.h>

char *err;
typedef char stringku[30];

int callback(void *notused, int jkolom, char **dataku, char **kolom){
   for(int i=0;i<jkolom;i++)printf("%s = %s\n", kolom[i], dataku[i]);
   printf("\n");
   return 0;
}

void isi_database(sqlite3 *conn){
    char query[255];
    static stringku data[5][2]={{"Geri", "Saribumi"}, {"Panji", "Wonokarto"}, {"Tomi", "Gading"}, {"Romi", "Jakarta"}, {"Bustomi", "Pringsewu"}};
	     
    sqlite3_exec(conn, "Create Table siswa(id INTEGER Primary Key, nama Text, alamat Text);", 0, 0, &err); 
    //tambahkan data
    for(int i=0;i<5;i++){
        sprintf(query, "INSERT INTO siswa(id, nama, alamat) VALUES('%d','%s', '%s')", i, data[i][0], data[i][1]);
        sqlite3_exec(conn, query, 0, 0, &err);
    }
}

int main(){
	int res=0;
	char query[255]="SELECT * FROM siswa where nama LIKE '%omi%'";
	sqlite3 *conn=NULL;
	sqlite3_stmt *stmt=NULL;
	sqlite3_open("databaseku.dat", &conn);
	
	//jika database kosong, tambah tabel
	if(conn){
	     isi_database(conn);
	}
	
	//gunakan query
	sqlite3_exec(conn, query, callback, 0, &err);
	sqlite3_close(conn);
	return 0;
}
Output :
id = 2
nama = Tomi
alamat = Gading

id = 3
nama = Romi
alamat = Jakarta

id = 4
nama = Bustomi
alamat = Pringsewu

Seperti saat menggunakan operator perbandingan, kalian juga bisa menggunakan beberapa klausa LIKE bersama dengan And atau Or. Kalian juga bisa menggunakannya bersama dengan kondisi yang menggunakan operator perbandingan.