今天我们来讲讲TOP关键字的用法~
按惯例先上SQL Server查询顺序,小括号()里面的数字代码数据库引擎在执行查询语句时候的先后顺序,从1开始:
(8)SELECT(9)DISTINCT (11)<Top Num> <select list>
(1)FROM [left_table]
(3)<join_type>JOIN<right_table>
(2) ON <join_condition>
(4)WHERE <where_condition>
(5)GROUP BY <group_by_list>
(6)WITH <CUBE |RollUP>
(7)HAVING <having_condition>
(10)ORDER BY <order_by_list>
TOP 子句
TOP 子句用于规定要返回的记录的数目。
对于拥有数千条记录的大型表来说,TOP 子句是非常有用的。
注释:并非所有的数据库系统都支持 TOP 子句。
SQL Server 的语法:
SELECT TOP number|percent column_name(s)
FROM table_name
MySQL 和 Oracle 中的 SQL SELECT TOP 是等价的
MySQL 语法
SELECT column_name(s)
FROM table_name
LIMIT number
例子
SELECT *
FROM Persons
LIMIT 5
Oracle 语法
SELECT column_name(s)
FROM table_name
WHERE ROWNUM <= number
例子
SELECT *
FROM Persons
WHERE ROWNUM <= 5
原始的表 (用在例子中的):
Persons 表:
SQL TOP 实例
现在,我们希望从上面的 "Persons" 表中选取头两条记录。
我们可以使用下面的 SELECT 语句:
SELECT TOP 2 * FROM Persons
结果:
SQL TOP PERCENT 实例
现在,我们希望从上面的 "Persons" 表中选取 50% 的记录。
我们可以使用下面的 SELECT 语句:
SELECT TOP 50 PERCENT
* FROM Persons
结果: