LIMIT

Limit digunakan untuk membatasi agar hanya beberapa baris data saja yang ditampilkan. Kalian mungkin akan membutuhkannya jika kalian ingin membuat paginasi.

Sintaksnya :

  • Statement_select Limit indeks_awal, jumlah_data

Contoh query :

  • Select * from siswa limit 0, 4

Contoh :

//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[8][3]={{"Deri", "3A", "75"}, {"Panji", "3A", "95"}, {"Romi", "3A", "80"}, {"Doni", "3B", "70"}, {"Jennie", "3B", "60"}, {"Roni", "3C", "50"}, {"Hani", "3C", "45"}, {"Mini", "3C", "40"}};
	     
    sqlite3_exec(conn, "Create Table siswa(id INTEGER Primary Key, nama Text, kelas Text, nilai INTEGER);", 0, 0, &err); 
    //tambahkan data
    for(int i=0;i<8;i++){
        sprintf(query, "INSERT INTO siswa(id, nama, kelas, nilai) VALUES('%d', '%s', '%s', '%s')", i, data[i][0], data[i][1], data[i][2]);
        sqlite3_exec(conn, query, 0, 0, &err);
    }
}

int main(){
    int res=0;
    sqlite3 *conn=NULL;
    sqlite3_stmt *stmt=NULL;
    sqlite3_open("databaseku.dat", &conn);
	
    //jika database kosong, tambah tabel
    sqlite3_exec(conn, "Drop Table siswa", 0, 0, &err);
    isi_database(conn);

    //gunakan query
    printf("0-4\n");
    sqlite3_exec(conn, "SELECT * FROM siswa Limit 0, 4", callback, 0, &err);
    printf("\n4-8\n");
    sqlite3_exec(conn, "SELECT * FROM siswa Limit 4, 4", callback, 0, &err);
    
    sqlite3_close(conn);
    return 0;
}
Output :
0-4
id : 0
nama : Deri
kelas : 3A
nilai : 75

id : 1
nama : Panji
kelas : 3A
nilai : 95

id : 2
nama : Romi
kelas : 3A
nilai : 80

id : 3
nama : Doni
kelas : 3B
nilai : 70


4-8
id : 4
nama : Jennie
kelas : 3B
nilai : 60

id : 5
nama : Roni
kelas : 3C
nilai : 50

id : 6
nama : Hani
kelas : 3C
nilai : 45

id : 7
nama : Mini
kelas : 3C
nilai : 40