如何限制 SQL 中的查询结果?
在本文中,我们将通过不同的示例学习如何在 SQL 中限制查询结果。 MySQL 支持 LIMIT 子句来选择有限数量的记录。如果我们想限制将返回多行的结果数量,那么我们只需使用 LIMIT 命令。
步骤 1:创建数据库
使用以下 SQL 语句创建名为 geeks 的数据库:
询问:
CREATE DATABASE geeks;
步骤 2:使用数据库
使用以下 SQL 语句将数据库上下文切换到 geeks:
询问:
USE geeks;
第 3 步:表定义
询问:
CREATE TABLE Participant (
ID INTEGER PRIMARY KEY,
Name TEXT NOT NULL,
Percent INTEGER NOT NULL,
Branch TEXT NOT NULL
);
第 4 步:向表中添加数据
询问:
INSERT INTO Participant VALUES (55, 'BB',81 ,'Civil');
INSERT INTO Participant VALUES (56, 'NN',75 ,'IT');
INSERT INTO Participant VALUES (57, 'RR',100 ,'CSE');
INSERT INTO Participant VALUES (58, 'SS',94 ,'Civil');
我们可以使用下面的语句来查看创建的表的内容:
询问:
SELECT * FROM Participant;
现在让我们看看如何在这里使用限制查询。为此,我们在 MySQL 中使用带有 LIMIT 和 ORDER BY 语句的 SELECT。
句法:
SELECT column1, column2, ...
FROM table_name
[WHERE conditions]
[ORDER BY expression [ ASC | DESC ]]
LIMIT count;
在上述语法中, WHERE条件是可选条件,对于要选择的记录必须为真。 ORDER BY表达式是查询中的一个可选语句,用于根据关键字(ASC 或 DESC)以升序或降序返回结果。 LIMIT计数与 SELECT 语句一起使用以限制结果集中的行数。
让我们使用一些示例查询来理解这一点。
例子:
查询 1:
SELECT *
FROM Participant
ORDER BY Percent DESC
LIMIT 2;
输出:
LIMIT运算符可用于上述情况,我们需要找到具有最大百分比的前 2 个参与者,并且不想使用任何条件语句。 ORDER BY Percent DESC 已按降序对记录进行排序,并使用 LIMIT 2 我们从排序结果中获得前 2 行。
我们还可以在上面的示例中使用 WHERE 子句包含一些情况。假设我们不希望结果集中包含 Civil 分支,并且希望前 2 个参与者的百分比较低。
我们可以编写如下查询:
查询 2:
SELECT *
FROM Participant
WHERE Branch != 'Civil'
ORDER BY Percent
LIMIT 2;
输出 :
上述查询将根据强加条件选择所有参与者(即将选择除Civil分支参与者之外的所有参与者)然后结果将按百分比升序排序(ORDER BY关键字默认按升序对记录进行排序) .最后,上述查询将返回前 2 行。
这就是我们如何限制 SQL 中表中的记录。我们可以进一步玩 SQL 查询,并根据不同的条件和限制获取结果数据。