【每日一错】ROWNUM伪列限制查询


题目

在这里插入图片描述

正确答案:A. SELECT * FROM table_name WHERE ROWNUM <= 10;


扩展学习

ROWNUM 是什么?

ROWNUM 是 Oracle 中的伪列(pseudo-column),表示查询结果中每一行的顺序编号,是Oracle返回记录时临时赋值的。

在 Oracle 数据库中,伪列(Pseudo Column) 是一种看起来像是表中的列,但实际上并不存储在表中的数据项。它是由 Oracle 自动提供的,可以在 SQL 查询中使用,就像普通列一样,但它不是真正存在于表结构中的字段。

常见的伪列

伪列名说明示例
ROWNUM查询结果的行号,从1开始编号SELECT * FROM emp WHERE ROWNUM <= 5;
ROWID每一行在数据库中的唯一物理地址标识SELECT ROWID, ename FROM emp;
LEVEL用于层次查询(CONNECT BY)中,表示当前层级SELECT LEVEL FROM DUAL CONNECT BY LEVEL <= 3;
SYSDATE当前系统日期时间(其实更接近函数)SELECT SYSDATE FROM DUAL;
USER当前登录用户名SELECT USER FROM DUAL;

举例:

SELECT ROWNUM, ename FROM emp;

这条语句会显示每一行的编号,编号就是 ROWNUM 给的,但这个字段在表结构里并没有定义,是 Oracle 查询的时候动态生成的。

在12c以后更加推荐使用FETCH FIRST n ROWS ONLY


总结

伪列是Oracle自动提供的一种列,他不存在于表结构中,但存在于查询执行的过程中。运行时才临时存在的,只能用于当前查询语句中,不存入磁盘、不占表空间。
ROWNUM 是 Oracle 中的一个伪列,会将查询结果的行号,从1开始自动编号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值