要求:stuId降序排列从学生表里选出第一个学生的所有信息。(学生表主键stuId)
1.
select *
from students
where rownum = 1
order by stuId desc
2.
select *
from (
select *
from students
order by stuId desc )
where rownum = 1
这两条语句检索的结果是一样的。
但实际上两条语句的意义并不同。
因为oracle执行sql语句时where是在order by之前执行的。
如果要求变成:按成绩降序排列从学生表里选出第一个学生的所有信息。(学生表主键stuId)
3.
select *
from students
where rownum = 1
order by grades desc
4.
select *
from (
select *
from students
order by grades desc )
where rownum = 1
3得出的结果就不会是我们想要的结果。
分享到:
相关推荐
### Oracle ROWNUM 使用技术详解 #### 一、ROWNUM简介与特性 ROWNUM是Oracle数据库中的一个特殊列,用于为查询结果集中的每一行分配一个唯一的序号。这一功能非常强大,尤其在处理诸如“获取前N条记录”或“实现...
### Oracle ROWNUM 使用详解与 SQL Server 区别 在数据库操作中,ROWNUM 是一个非常重要的伪列,主要用于返回查询结果的行序号。它在 Oracle 数据库中有着广泛的应用场景,尤其是在需要对查询结果进行分页显示、...
ROWNUM 的使用技巧和陷阱 ROWNUM 是 Oracle 中的一种伪列,它可以根据返回记录生成一个序列化的数字。利用 ROWNUM,我们可以生产一些原先难以实现的结果输出,但是因为它是伪列的特殊性,在使用时需要注意一些事项...
四、ROWNUM使用技巧 1. **分页查询**:通常用于实现分页功能,例如`SELECT * FROM table WHERE ROWNUM 可以获取前N行数据。 2. **优化查询**:与`ORDER BY`一起使用时,先筛选`ROWNUM`再排序可以提高效率,避免全表...
### Oracle中的ROWNUM使用详解 在Oracle数据库中,`ROWNUM`是一个非常有用的伪列,它可以帮助用户在查询结果集中为每一行分配一个唯一的行号。`ROWNUM`的值从1开始,并随着行的增加而递增。下面将详细介绍`ROWNUM`...
### Oracle中的ROWNUM使用详解 #### 一、ROWNUM简介 在Oracle数据库中,`ROWNUM`是一个非常有用的伪列,它为查询结果中的每一行分配一个唯一的行号。这个行号从1开始,每增加一行,行号就递增1。`ROWNUM`对于数据...
尝试使用 `rownum > n` (n 为某个正整数) 来查询时,由于 `rownum` 从 1 开始,直接使用这样的条件将不会返回任何结果。这是因为 Oracle 认为 `rownum > n` (n > 1) 的条件始终为假。 **示例 SQL**: ```sql SELECT ...
Oracle中rownum的使用
有了以上从不同方面建立起来的对 rownum 的概念,那我们可以来认识使用 rownum 的几种现像 1. select rownum,c1 from t1 where rownum != 10 为何是返回前9条数据呢?它与 select rownum,c1 from tablename where ...
注意:对 rownum(伪列) 只能使用 < 或 <=, 而用 =, >, >= 都将不能返回任何数据 例:查询工资前20名的员工姓名,工资 ,工资由高到低 Select rownum,first_name,salary from (Select first_name, salary ...
然而,`ROWNUM`的使用并不直观,尤其是当涉及到比较运算符(如`>`, `>=`, `=`等)时,容易引发混淆。以下将详细解析`ROWNUM`的特性和使用方法,帮助理解和避免常见的陷阱。 ### ROWNUM的基本特性 `ROWNUM`是一个伪...
然而,许多开发者在使用这两个关键词时,却常常会遇到一些不太理解的地方,例如,当 DISTINCT 和 ROWNUM 一起使用时,为什么不能得到预期的结果?下面我们将详细地解释 ROWNUM 和 DISTINCT 的工作原理,并分析为什么...
oracle中的rownum是一个虚拟列,每输出一行递增1。但是在pg中目前没有rownum虚拟列,那么如果从oracle迁移到pg...rownum使用场景1:分页输出 oracle中分页: SQL> select * from t1 where rownum=1; ID ---------- 1
以下是一些关于ROWNUM的使用技巧和注意事项: 1. **Top N 结果输出**:在不考虑特定排序的情况下,我们可以直接通过`WHERE ROWNUM 来获取前N条记录。然而,如果需要基于特定排序获取Top N,这种方法可能会出现问题...
### Oracle SQL中ROWID与ROWNUM的使用 #### ROWNUM 的使用——TOP-N 分析 在 Oracle SQL 中,`ROWNUM` 是一种特殊的伪列,用于标识查询结果集中的行编号。它常用于实现 TOP-N 查询,即返回结果集中满足特定条件的...
但是,想找到学生表中第二条学生的信息,使用`ROWNUM=2`将查不到数据。这是因为ROWNUM的值从1开始,但是1以上的自然数在ROWNUM做等于判断时认为都是false条件。 四、ROWNUM用于大于某值的查询条件 如果想找到从第...
#### 一、ROWNUM 使用技巧 **题目背景:** ROWNUM 是一个伪列,用于返回表中行的编号。它常用于限制查询结果的行数,例如在分页查询中。 **示例代码:** ```sql -- 示例1:查询最高薪水的前三名员工 SELECT ...
- 在 WHERE 子句中只能使用 ROWNUM 值 的形式,而不能使用 ROWNUM > 值 的形式。 #### 二、处理数据集的操作 处理数据集是指对从表或索引中返回的数据进行进一步的操作,如排序、分组、聚合等。 **行的分类操作**...
### 在Oracle中灵活使用Rownum和RowId 在Oracle数据库中,`ROWNUM` 和 `ROWID` 是两个非常重要的概念,它们可以帮助我们在查询数据时实现更灵活的数据管理。本文将详细介绍这两个概念的区别及其使用方法,并通过...