Giới hạn kết quả với mệnh đề LIMIT trong SQLite

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

1. Cú pháp của mệnh đề LIMIT kết hợp với lệnh SELECT

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

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

Sau đây là cú pháp của mệnh đề LIMIT khi nó được sử dụng cù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 của OFFSET đã cho.

2. Ví dụ của mệnh đề LIMIT trong SQLite

Giả sử chúng ta có bảng COMPANY có các dòng dữ liệu như 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 đây sẽ trả về 6 bản ghi trong bảng COMPANY

sqlite> SELECT * FROM COMPANY LIMIT 6;

Và kết quả của ví dụ trên:

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

Tuy nhiên, trong một số trường hợp nhất định, bạn có thể cần phải lấy một tập hợp bản ghi từ một offset cụ thể. Dưới đây là một ví dụ, trong đó chọn ra 3 bản ghi bắt đầu từ vị trí thứ 3.

sqlite> SELECT * FROM COMPANY LIMIT 3 OFFSET 2;

Và kết quả của ví dụ trên:

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

-------------------#####-------------------

Loạt bài SQLite được biên dịch từ TutorialsPoint.

Khóa học nên xem

Nguồn: freetuts.net