SQL基础--ROWNUM伪列
ROWNUM伪列 的概念:
rownum表示的是一个数据行编号的伪列,它的内容是在用户查询数据时,为用户动态分配的一个数组(行号)。
注意它是随机生成的,并不是和某一行数据绑定在一起的。
观察rownum:
SQL> select rownum,deptno,dname,loc from dept; ROWNUM DEPTNO DNAME LOC ---------- ---------- -------------- ------------- 1 10 ACCOUNTING NEW YORK 2 20 RESEARCH DALLAS 3 30 SALES CHICAGO 4 40 OPERATIONS BOSTON
ROWNUM的常用操作:
--显示出查询出来的第1条记录
SQL> select *from dept where rownum=1; DEPTNO DNAME LOC ---------- -------------- ------------- 10 ACCOUNTING NEW YORK
注意只能是第一条记录,其它的是不行的。
--分页技术
1.查询出雇员表中的前5条记录
select * from (select empno, ename, hiredate, rownum rn from emp where rownum <= 5) temp where temp.rn > 0;
这里采用了子查询,其实直接写“select empno, ename, hiredate, rownum rn from emp where rownum <= 5”就可以得到同样的结果,这是因为这是采用标准的分页格式完成的。
结果:
2.查询出6~10条记录
从这就可以看出标准写发的好处了。
ORACLE12的新特性
为了方便数据分页显示操作,专门提供了FETCH语句。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
2016-01-06 Centos下Nagios的安装与配置