语法格式
[ LIMIT [ start, ] count | LIMIT count OFFSET start | OFFSET start[ LIMIT count ] ]
使用方法
start:指定在返回行之前要跳过的行数。
count:指定要返回的最大行数。
start和count都被指定时,在开始计算要返回的count行之前会跳过start行。例如下方示例1。
start在count之后指定时,可以通过OFFSET关键字实现。例如下方示例2。也就是说LIMIT 5,20与LIMIT 20 OFFSET 5及OFFSET 5 LIMIT 20等效。
示例
--删除表bonuses_depa1。
DROP TABLE IF EXISTS bonuses_depa1;
--创建表bonuses_depa1。
CREATE TABLE bonuses_depa1(staff_id INT NOT NULL, staff_name CHAR(50), job VARCHAR(30), bonus NUMBER);
--向表bonuses_depa1中INSERT数据。
INSERT INTO bonuses_depa1(staff_id, staff_name, job, bonus) VALUES(23,'wangxia','developer',5000);
--向表bonuses_depa1中INSERT数据。
INSERT INTO bonuses_depa1(staff_id, staff_name, job, bonus) VALUES(24,'limingying','tester',7000);
--向表bonuses_depa1中INSERT数据。
INSERT INTO bonuses_depa1(staff_id, staff_name, job, bonus) VALUES(25,'liulili','quality control',8000);
--向表bonuses_depa1中INSERT数据。
INSERT INTO bonuses_depa1(staff_id, staff_name, job, bonus) VALUES(29,'liuxue','tester',8000);
--向表bonuses_depa1中INSERT数据。
INSERT INTO bonuses_depa1(staff_id, staff_name, job, bonus) VALUES(21,'caoming','document developer',11000);
--向表bonuses_depa1中INSERT数据。
INSERT INTO bonuses_depa1(staff_id, staff_name, job, bonus) VALUES(27,'caoqing','tester',7400);
--向表bonuses_depa1中INSERT数据。
INSERT INTO bonuses_depa1(staff_id, staff_name, job, bonus) VALUES(28,'caochun','tester',7300);
--提交。
COMMIT;
--查询获得奖金超过7000的员工信息。
SELECT staff_name, job, bonus FROM bonuses_depa1 WHERE bonus > 7000; STAFF_NAME JOB BONUS ----------------- ------------------------------ ----------- liulili quality control 8000 liuxue tester 8000 caoming document developer 11000 caoqing tester 7400 caochun tester 7300 5 rows fetched.
--查询获得奖金超过7000的员工信息。通过增加LIMIT 2,2限定查询时跳过前2行后,查询总共2行数据。
SELECT staff_name, job, bonus FROM bonuses_depa1 WHERE bonus > 7000 LIMIT 2,2; STAFF_NAME JOB BONUS ---------------- ------------------------------ -------- caoming document developer 11000 caoqing tester 7400 2 rows fetched.