ROWNUM

简介: 【11月更文挑战第04天】

在 SQL 中,SELECT TOP, LIMIT, 和 ROWNUM 是用来限制查询结果数量的子句,它们在不同的数据库管理系统中有所差异。以下是对这些子句的详细解释和代码示例:

1. SELECT TOP 子句(SQL Server 和 Sybase)

TOP 关键字用于 SQL Server 和 Sybase,允许你指定返回结果集的前 N 行记录。

基本语法

SELECT TOP N [PERCENT] column1, column2, ...
FROM table_name
WHERE condition;
  • N:指定返回的记录数。
  • PERCENT:可选关键字,表示返回结果集的百分比。

代码示例

-- 返回前 3 条记录
SELECT TOP 3 id, name, salary
FROM Employees;

-- 返回前 50% 的记录
SELECT TOP 50 PERCENT id, name, salary
FROM Employees;

2. LIMIT 子句(MySQL 和 PostgreSQL)

LIMIT 关键字用于 MySQL 和 PostgreSQL,同样用于限制返回结果集的数量。它还可以与 OFFSET 子句结合使用,用于分页。

基本语法

SELECT column1, column2, ...
FROM table_name
LIMIT N [OFFSET M];
  • N:指定返回的记录数。
  • M:可选参数,表示从哪条记录开始返回(默认为 0)。

代码示例

-- 返回前 3 条记录
SELECT id, name, salary
FROM Employees
LIMIT 3;

-- 跳过前 2 条记录,返回接下来的 3 条记录
SELECT id, name, salary
FROM Employees
LIMIT 3 OFFSET 2;

3. ROWNUM 伪列(Oracle)

ROWNUM 是 Oracle 数据库中的一个伪列,用于在查询结果集中为每一行分配一个唯一的数字。

基本语法

SELECT column1, column2, ...
FROM table_name
WHERE ROWNUM <= N;
  • N:指定返回的记录数。

代码示例

-- 返回前 3 条记录
SELECT id, name, salary
FROM Employees
WHERE ROWNUM <= 3;
目录
相关文章
|
2月前
|
SQL 数据库
INTO SELECT
【11月更文挑战第10天】
31 3
|
2月前
|
SQL
SELECT DISTINCT
【11月更文挑战第02天】
62 1
|
7月前
|
SQL Oracle 关系型数据库
SQL SELECT TOP, LIMIT, ROWNUM 子句
SQL SELECT TOP, LIMIT, ROWNUM 子句
63 4
|
SQL Oracle druid
listagg
listagg
172 3
Distinct
SQL 去重
177 0
|
SQL 存储 运维
Oracle-12:伪列rowid和rownum
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------       伪列:不真实存储在真表中,但是我们可以查询到不能对伪列进行增删改操作!   分页可以用rownum来分!!!!!!!(因为oracle中没有limit)   放一份数据库脚本,...
950 0
|
SQL Oracle 关系型数据库