SQL SELECT TOP, LIMIT, ROWNUM
SQL SELECT TOP 子句
SELECT TOP 子句用于指定要返回的记录数。 SELECT TOP 子句在具有数千条记录的大型表上很有用。返回大量记录会影响性能。
注意:并非所有数据库系统都支持SELECT TOP子句。MySQL支持LIMIT子句选择有限数量的记录,而Oracle使用ROWNUM。
SQL Server / MS Access语法:
SELECT TOP number|percent column_name(s) FROM table_name WHERE condition;
SELECT column_name(s) FROM table_name WHERE condition LIMIT number;
SELECT column_name(s) FROM table_name WHERE ROWNUM <= number;
演示数据库
以下是Northwind示例数据库中“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 |
SQL TOP,LIMIT和ROWNUM 实例
以下SQL语句从“Customers”表中选择前三个记录: 以下SQL语句显示了使用LIMIT子句的等效示例: 以下SQL语句显示了使用ROWNUM的等效示例:实例
SELECT * FROM Customers WHERE ROWNUM <= 3;
SQL TOP PERCENT示例
以下SQL语句从“Customers”表中选择前50%的记录:添加WHERE 子句
以下SQL语句从“Customers”表中选择前三个记录,其中Country 为“Germany”: 以下SQL语句显示了使用LIMIT子句的等效示例: 以下SQL语句显示了使用ROWNUM的等效示例:实例
SELECT * FROM Customers WHERE Country='Germany' AND ROWNUM <= 3;