Mệnh đề LIMIT trong SQLite



Mệnh đề LIMIT trong SQLite được sử dụng để giới hạn lượng dữ liệu được trả về bởi lệnh SELECT.

Cú pháp

Cú pháp cơ bản của lệnh SELECT với mệnh đề LIMIT như sau:

SELECT column1, column2, columnN 
FROM table_name
LIMIT [no of rows]

Còn đây là cú pháp của mệnh đề LIMIT khi được sử dụng với mệnh đề OFFSET:

SELECT column1, column2, columnN 
FROM table_name
LIMIT [no of rows] OFFSET [row num]

SQLite Engine sẽ trả về các hàng bắt đầu từ hàng kế tiếp tới OFFSET đã cho.

Ví dụ

Bạn theo dõi bảng COMPANY có các bản ghi sau:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

Ví dụ sau sẽ chỉ lấy các hàng mà bạn muốn lấy từ bảng.

sqlite> SELECT * FROM COMPANY LIMIT 6;

Ví dụ trên sẽ cho kết quả:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0

Nhưng trong các tình huống cụ thể, bạn có thể cần lấy một tập hợp bản ghi từ một offset cụ thể. Ví dụ sau sẽ lấy 3 bản ghi bắt đầu từ vị trí thứ ba:

sqlite> SELECT * FROM COMPANY LIMIT 3 OFFSET 2;

Ví dụ trên sẽ cho kết quả:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0

Các bài học SQLite phổ biến khác tại VietJack: