📜  SQL |限制条款

📅  最后修改于: 2022-05-13 01:55:47.657000             🧑  作者: Mango

SQL |限制条款

如果有大量满足查询条件的元组,一次只查看少数几个可能会很费事。

  • LIMIT 子句用于设置 SQL 返回的元组数的上限。
  • 需要注意的是,并非所有 SQL 版本都支持此子句。
  • 也可以使用 SQL 2008 OFFSET/FETCH FIRST 子句指定 LIMIT 子句。
  • 限制/偏移表达式必须是非负整数。

例子:
假设我们有关系,学生。
学生表:

RollNoNameGrade
12001Aditya9
12002Sahil6
12003Hema8
12004Robin9
12005Sita7
12006Anne10
12007Yusuf7
12008Alex5

查询

SELECT *
FROM Student
LIMIT 5;

输出:

12001Aditya9
12002Sahil6
12003Hema8
12004Robin9
12005Sita7
SELECT *
FROM Student
ORDER BY Grade DESC
LIMIT 3;

输出:

12006Anne10
12001Aditya9
12004Robin9

LIMIT运算符可以用于上述情况,我们需要查找班级中排名前 3 的学生,并且不想使用任何条件语句。

使用 LIMIT 和 OFFSET

LIMIT x OFFSET y 只是意味着跳过前 y 个条目,然后返回下一个 x 条目。
OFFSET 只能与 ORDER BY 子句一起使用。它不能单独使用。
OFFSET 值必须大于或等于零。它不能为负数,否则返回错误。
查询:

SELECT *
FROM Student
LIMIT 5 OFFSET 2
ORDER BY ROLLNO;

输出:

12003Hema8
12004Robin9
12005Sita7
12006Anne10
12007Yusuf7

使用 LIMIT ALL

LIMIT ALL 意味着没有限制。

SELECT *
FROM Student
LIMIT ALL;

上面的查询只是返回表中的所有条目。