`
newand
  • 浏览: 37524 次
  • 性别: Icon_minigender_1
  • 来自: nj
最近访客 更多访客>>
社区版块
存档分类
最新评论

ROWNUM的使用

    博客分类:
  • SQL
阅读更多
要求: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得出的结果就不会是我们想要的结果。
      
0
0
分享到:
评论

相关推荐

    oracle rownum 使用技术.pdf

    ### Oracle ROWNUM 使用技术详解 #### 一、ROWNUM简介与特性 ROWNUM是Oracle数据库中的一个特殊列,用于为查询结果集中的每一行分配一个唯一的序号。这一功能非常强大,尤其在处理诸如“获取前N条记录”或“实现...

    oracle rownum 的使用 和sqlserver有区别的!

    ### Oracle ROWNUM 使用详解与 SQL Server 区别 在数据库操作中,ROWNUM 是一个非常重要的伪列,主要用于返回查询结果的行序号。它在 Oracle 数据库中有着广泛的应用场景,尤其是在需要对查询结果进行分页显示、...

    ROWNUM的使用技巧

    ROWNUM 的使用技巧和陷阱 ROWNUM 是 Oracle 中的一种伪列,它可以根据返回记录生成一个序列化的数字。利用 ROWNUM,我们可以生产一些原先难以实现的结果输出,但是因为它是伪列的特殊性,在使用时需要注意一些事项...

    oracle_SQL中rowid与rownum的使用

    四、ROWNUM使用技巧 1. **分页查询**:通常用于实现分页功能,例如`SELECT * FROM table WHERE ROWNUM 可以获取前N行数据。 2. **优化查询**:与`ORDER BY`一起使用时,先筛选`ROWNUM`再排序可以提高效率,避免全表...

    oracle中rownum的用法及解说

    ### Oracle中的ROWNUM使用详解 在Oracle数据库中,`ROWNUM`是一个非常有用的伪列,它可以帮助用户在查询结果集中为每一行分配一个唯一的行号。`ROWNUM`的值从1开始,并随着行的增加而递增。下面将详细介绍`ROWNUM`...

    oracle中rownum的用法

    ### Oracle中的ROWNUM使用详解 #### 一、ROWNUM简介 在Oracle数据库中,`ROWNUM`是一个非常有用的伪列,它为查询结果中的每一行分配一个唯一的行号。这个行号从1开始,每增加一行,行号就递增1。`ROWNUM`对于数据...

    rownum用法(不使用minus)

    尝试使用 `rownum > n` (n 为某个正整数) 来查询时,由于 `rownum` 从 1 开始,直接使用这样的条件将不会返回任何结果。这是因为 Oracle 认为 `rownum > n` (n > 1) 的条件始终为假。 **示例 SQL**: ```sql SELECT ...

    Oracle中rownum的使用

    Oracle中rownum的使用

    对于 Oracle 的 rownum 问题

    有了以上从不同方面建立起来的对 rownum 的概念,那我们可以来认识使用 rownum 的几种现像 1. select rownum,c1 from t1 where rownum != 10 为何是返回前9条数据呢?它与 select rownum,c1 from tablename where ...

    oracle中利用关键字rownum查询前20名员工信息及rownum用法

    注意:对 rownum(伪列) 只能使用 < 或 <=, 而用 =, >, >= 都将不能返回任何数据  例:查询工资前20名的员工姓名,工资 ,工资由高到低 Select rownum,first_name,salary from (Select first_name, salary ...

    ORACLE 中ROWNUM用法总结

    然而,`ROWNUM`的使用并不直观,尤其是当涉及到比较运算符(如`>`, `>=`, `=`等)时,容易引发混淆。以下将详细解析`ROWNUM`的特性和使用方法,帮助理解和避免常见的陷阱。 ### ROWNUM的基本特性 `ROWNUM`是一个伪...

    oracle rownum和distinct

    然而,许多开发者在使用这两个关键词时,却常常会遇到一些不太理解的地方,例如,当 DISTINCT 和 ROWNUM 一起使用时,为什么不能得到预期的结果?下面我们将详细地解释 ROWNUM 和 DISTINCT 的工作原理,并分析为什么...

    PostgreSQL rownum实现方法(兼容oracle)

    oracle中的rownum是一个虚拟列,每输出一行递增1。但是在pg中目前没有rownum虚拟列,那么如果从oracle迁移到pg...rownum使用场景1:分页输出 oracle中分页: SQL> select * from t1 where rownum=1; ID ---------- 1

    Oracle中ROWNUM的使用技巧.docx

    以下是一些关于ROWNUM的使用技巧和注意事项: 1. **Top N 结果输出**:在不考虑特定排序的情况下,我们可以直接通过`WHERE ROWNUM 来获取前N条记录。然而,如果需要基于特定排序获取Top N,这种方法可能会出现问题...

    oracle_SQL中ROWID与ROWNUM的使用

    ### Oracle SQL中ROWID与ROWNUM的使用 #### ROWNUM 的使用——TOP-N 分析 在 Oracle SQL 中,`ROWNUM` 是一种特殊的伪列,用于标识查询结果集中的行编号。它常用于实现 TOP-N 查询,即返回结果集中满足特定条件的...

    oracle rownum 学习

    但是,想找到学生表中第二条学生的信息,使用`ROWNUM=2`将查不到数据。这是因为ROWNUM的值从1开始,但是1以上的自然数在ROWNUM做等于判断时认为都是false条件。 四、ROWNUM用于大于某值的查询条件 如果想找到从第...

    Sql常见面试题(总结)

    #### 一、ROWNUM 使用技巧 **题目背景:** ROWNUM 是一个伪列,用于返回表中行的编号。它常用于限制查询结果的行数,例如在分页查询中。 **示例代码:** ```sql -- 示例1:查询最高薪水的前三名员工 SELECT ...

    ORACLE SQL 优化

    - 在 WHERE 子句中只能使用 ROWNUM 值 的形式,而不能使用 ROWNUM > 值 的形式。 #### 二、处理数据集的操作 处理数据集是指对从表或索引中返回的数据进行进一步的操作,如排序、分组、聚合等。 **行的分类操作**...

    在oracle中灵活使用Rownum和rowId

    ### 在Oracle中灵活使用Rownum和RowId 在Oracle数据库中,`ROWNUM` 和 `ROWID` 是两个非常重要的概念,它们可以帮助我们在查询数据时实现更灵活的数据管理。本文将详细介绍这两个概念的区别及其使用方法,并通过...

Global site tag (gtag.js) - Google Analytics