SQL研习录(08)——TOP、LIMIT、ROWNUM

SQL研习录(08)——TOP、LIMIT、ROWNUM


版权声明

  • 本文原创作者:清风不渡
  • 博客地址:https://blog.csdn.net/WXKKang

一、SELECT TOP子句

  SELECT TOP子句用来指定要返回的记录数量,在包含上千条记录的大型表中总是很有用,因为返回大量数据会影响性能
  并不是所有的数据库系统都支持SELECT TOP子句,就像SQL Server支持SELECT TOP子句,而MySQL支持LIMIT子句来选择有限数量的记录,而Oracle则使用ROWNUM
  首先我们先准备一些测试数据,代码如下:

CREATE TABLE student(
	s_id varchar(50),
	s_name varchar(50),
	s_gender varchar(50)
)

INSERT INTO student (s_id,s_name,s_gender) VALUES ('S101','Lucy','female');
INSERT INTO student (s_id,s_name,s_gender) VALUES ('S102','Jack','male');
INSERT INTO student (s_id,s_name,s_gender) VALUES ('S103','Bruce','male');
INSERT INTO student (s_id,s_name,s_gender) VALUES ('S104','Tom','male');
INSERT INTO student (s_id,s_name,s_gender) VALUES ('S105','Jayce','male');

1、基本语法:

SELECT TOP number|percent column_name(s)
FROM table_name
WHERE condition;

  例: 在上面的测试数据中,如果我们需要查询前三条数据,则可以使用如下代码:

SELECT TOP 3 * FROM student;

  执行结果如下:
在这里插入图片描述
  如果查询限制为百分比,则可使用下面的语句,如:查询上面测试表中前40%的数据,代码如下:

SELECT TOP 40 PERCENT * FROM student;

  执行结果如下:
在这里插入图片描述

二、LIMIT

  同样的操作,在MySQL数据库中是使用LIMIT来实现的,语法如下:

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

  同样的问题,在上面的测试数据中,如果我们需要查询前三条数据,在MySQL数据库中可以使用如下代码:

SELECT * FROM student LIMIT 3;

二、ROWNUM

  同样的操作,在Oracle数据库中是使用ROWNUM来实现的,语法如下:

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

  同样的问题,在上面的测试数据中,如果我们需要查询前三条数据,在Oracle数据库中可以使用如下代码:

SELECT * FROM student WHERE ROWNUM<=3;
发布了81 篇原创文章 · 获赞 36 · 访问量 3364

猜你喜欢

转载自blog.csdn.net/WXKKang/article/details/103777787