Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

SQL 教程

SQL 首页 SQL 简介 SQL 语法 SQL 选择 SQL 选择 DISTINCT SQL WHERE SQL ORDER BY SQL AND SQL OR SQL NOT SQL 插入 SQL 空值 SQL 更新 SQL 删除 SQL SELECT TOP SQL 聚合函数 SQL MIN 和 MAX SQL COUNT SQL SUM SQL AVG SQL LIKE SQL 通配符 SQL IN SQL BETWEEN SQL 别名 SQL 连接 SQL 内连接 SQL 左连接 SQL 右连接 SQL 全连接 SQL 自连接 SQL UNION SQL GROUP BY SQL HAVING SQL EXISTS SQL ANY,ALL SQL SELECT INTO SQL 插入 SELECT SQL CASE SQL 空函数 SQL 存储过程 SQL 注释 SQL 运算符

SQL 数据库

SQL 创建数据库 SQL 删除数据库 SQL 备份数据库 SQL 创建表 SQL 删除表 SQL 修改表 SQL 约束 SQL 非空 SQL 唯一 SQL 主键 SQL 外键 SQL 检查 SQL 默认值 SQL 索引 SQL 自增 SQL 日期 SQL 视图 SQL 注入 SQL 托管 SQL 数据类型

SQL 参考

SQL 关键字 MySQL 函数 SQL Server 函数 MS Access 函数 SQL 快速参考

SQL 示例

SQL 示例 SQL 编辑器 SQL 问答 SQL 练习 SQL Server SQL 集训营 SQL 证书

SQL TOP, LIMIT, FETCH FIRST 或 ROWNUM 子句


SQL SELECT TOP 子句

SELECT TOP 子句用于指定要返回的记录数量。

SELECT TOP 子句在具有数千条记录的大型表上非常有用。返回大量记录会影响性能。

示例

仅选择 Customers 表的前 3 条记录

SELECT TOP 3 * FROM Customers;
自己尝试 »

注意: 并非所有数据库系统都支持 SELECT TOP 子句。MySQL 支持 LIMIT 子句来选择有限数量的记录,而 Oracle 使用 FETCH FIRST n ROWS ONLYROWNUM

SQL Server/MS Access 语法

SELECT TOP 数字|百分比 列名(s)
FROM 表名
WHERE 条件;

MySQL 语法

SELECT 列名(s)
FROM 表名
WHERE 条件
LIMIT 数字;

Oracle 12 语法

SELECT 列名(s)
FROM 表名
ORDER BY 列名(s)
FETCH FIRST 数字 ROWS ONLY;

旧版 Oracle 语法

SELECT 列名(s)
FROM 表名
WHERE ROWNUM <= 数字;

旧版 Oracle 语法(带有 ORDER BY)

SELECT *
FROM (SELECT 列名(s) FROM 表名 ORDER BY 列名(s))
WHERE ROWNUM <= 数字;


演示数据库

以下是示例中使用的 Customers 表的一部分

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4

Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden


LIMIT

以下 SQL 语句显示了 MySQL 的等效示例

示例

选择 Customers 表的前 3 条记录

SELECT * FROM Customers
LIMIT 3;
自己尝试 »

FETCH FIRST

以下 SQL 语句显示了 Oracle 的等效示例

示例

选择 Customers 表的前 3 条记录

SELECT * FROM Customers
FETCH FIRST 3 ROWS ONLY;

SQL TOP PERCENT 示例

以下 SQL 语句从 "Customers" 表中选择前 50% 的记录(对于 SQL Server/MS Access)

示例

SELECT TOP 50 PERCENT * FROM Customers;
自己尝试 »

以下 SQL 语句显示了 Oracle 的等效示例

示例

SELECT * FROM Customers
FETCH FIRST 50 PERCENT ROWS ONLY;

添加 WHERE 子句

以下 SQL 语句从 "Customers" 表中选择前三条记录,其中国家为 "Germany"(对于 SQL Server/MS Access)

示例

SELECT TOP 3 * FROM Customers
WHERE Country='Germany';
自己尝试 »

以下 SQL 语句显示了 MySQL 的等效示例

示例

SELECT * FROM Customers
WHERE Country='Germany'
LIMIT 3;
自己尝试 »

以下 SQL 语句显示了 Oracle 的等效示例

示例

SELECT * FROM Customers
WHERE Country='Germany'
FETCH FIRST 3 ROWS ONLY;

添加 ORDER BY 关键字

当您想要对结果进行排序并返回排序结果的前三条记录时,添加 ORDER BY 关键字。

对于 SQL Server 和 MS Access

示例

按 CustomerName 反向字母顺序排序结果,并返回前 3 条记录

SELECT TOP 3 * FROM Customers
ORDER BY CustomerName DESC;
自己尝试 »

以下 SQL 语句显示了 MySQL 的等效示例

示例

SELECT * FROM Customers
ORDER BY CustomerName DESC
LIMIT 3;
自己尝试 »

以下 SQL 语句显示了 Oracle 的等效示例

示例

SELECT * FROM Customers
ORDER BY CustomerName DESC
FETCH FIRST 3 ROWS ONLY;

×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.