菜单
×
   ❮     
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 Select SQL Select Distinct SQL Where SQL Order By SQL And SQL Or SQL Not SQL Insert Into SQL Null Values SQL Update SQL Delete SQL Select Top SQL Aggregate Functions SQL Min and Max SQL Count SQL Sum SQL Avg SQL Like SQL Wildcards SQL In SQL Between SQL Aliases SQL Joins SQL Inner Join SQL Left Join SQL Right Join SQL Full Join SQL Self Join SQL Union SQL Group By SQL Having SQL Exists SQL Any, All SQL Select Into SQL Insert Into Select SQL Case SQL Null Functions SQL Stored Procedures SQL Comments SQL Operators

SQL 数据库

SQL Create DB SQL Drop DB SQL Backup DB SQL Create Table SQL Drop Table SQL Alter Table SQL Constraints SQL Not Null SQL Unique SQL Primary Key SQL Foreign Key SQL Check SQL Default SQL Index SQL Auto Increment SQL Dates SQL Views SQL Injection SQL Hosting SQL Data Types

SQL 参考

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

SQL 示例

SQL 示例 SQL 编辑器 SQL 测验 SQL 练习 SQL Server SQL Bootcamp SQL 证书

SQL TOP, LIMIT, FETCH FIRST 或 ROWNUM 子句


SQL SELECT TOP 子句

SQL 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 number|percent column_name(s)
FROM table_name
WHERE condition;

MySQL 语法

SELECT column_name(s)
FROM table_name
WHERE condition
LIMIT number;

Oracle 12 语法

SELECT column_name(s)
FROM table_name
ORDER BY column_name(s)
FETCH FIRST number ROWS ONLY;

旧版 Oracle 语法

SELECT column_name(s)
FROM table_name
WHERE ROWNUM <= number;

旧版 Oracle 语法 (带 ORDER BY)

SELECT *
FROM (SELECT column_name(s) FROM table_name ORDER BY column_name(s))
WHERE ROWNUM <= number;


演示数据库

以下是示例中使用的 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 关键字

当您想对结果进行排序,并返回排序后结果的前 3 条记录时,添加 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;

×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持