0
点赞
收藏
分享

微信扫一扫

SQL基础知识V2——TOP

SQL数据库开发,关注获取SQL视频教程



SQL专栏

​​SQL数据库基础知识汇总​​

​​SQL数据库高级知识汇总​​


SQL执行顺序

按惯例先上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 TOP 的语法


SELECT TOP ​number|percent columns

FROM table_name


MySQL 和 Oracle 中的 SQL SELECT TOP 是等价的

MySQL 语法


SELECT columns

FROM table_name LIMIT number


例子

SELECT * FROM Customers LIMIT 5

Oracle 语法


SELECT columns

FROM table_name 

WHERE ​ROWNUM ​<= number


例子

SELECT * FROM Customers 
WHERE ROWNUM <= 5

原始的表 (用在例子中的)Customers表:

SQL基础知识V2——TOP_mysql


TOP 实例

现在,我们希望从上面的 "Customers" 表中选取头两条记录。

我们可以使用下面的 SELECT 语句:

SELECT TOP 2 * FROM Customers

结果:

SQL基础知识V2——TOP_mysql_02


TOP PERCENT 实例

现在,我们希望从上面的 "Customers" 表中选取 50% 的记录。

我们可以使用下面的 SELECT 语句:

SELECT TOP 50 PERCENT * 
FROM Customers

结果:

SQL基础知识V2——TOP_mysql_03

注释:因为总记录数只有5条,总条数的50%只能取到2.5条,但是条数只有整数条,这是不符合常理的,所有结果会自动向上取整,显示3条。


批注

TOP主要用在对查询结果进行分页,这样可以减少显示的数据量,提高查询效率。后面接数字则显示指定的条数,后面接百分数则显示总体数据的百分比。一般与ORDER BY结合使用。


技术交流请加QQ群:​875156894

看完本文有收获?请分享给更多人

SQL基础知识V2——TOP_mysql_04

长按识别二维码​,
更多咨询早知道!

回复进群,​拉你进微信

举报

相关推荐

0 条评论