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.