plsql怎样根据表的行号查询数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了plsql怎样根据表的行号查询数据相关的知识,希望对你有一定的参考价值。

参考技术A PLSQL中查询语句的行号可以用ROWNUM(伪列)标识,
如SELECT ROWNUM,VT.* FROM V$TABLESPACE VT;
但PLSQL很少用行号查询数据库, 除非为了控制数据量
如SQLSERVER的SELECT TOP * ...
或PLSQL的SELECT * FROM <TABLE> WHERE ROWNUM =1, 或ROWNUM<10
进一步进行测试:
SQL1). SELECT ROWNUM,VT.* FROM V$TABLESPACE VT;
SQL2). SELECT ROWNUM,VT.* FROM V$TABLESPACE VT ORDER BY VT.NAME;
分析:对比1和2, 同一级的查询, ORDER BY排序不会影响ROWNUM编号(先产生ROWNUM后排序)
SQL3). SELECT ROWNUM,VT2.* FROM (SELECT VT.* FROM V$TABLESPACE VT ORDER BY VT.NAME) VT2;
分析:如希望用排序后的结果编号,则需将排序放在子查询中,再取ROWNUM
SQL4). SELECT * FROM (SELECT ROWNUM ,VT.* FROM V$TABLESPACE VT WHERE ROWNUM <10 ORDER BY VT.NAME) WHERE ROWNUM = 3;
无数据,分析:ROWNUM为全局伪列, 在解析时优先级高于子查询中的ROWNUM列
SQL5). SELECT * FROM (SELECT ROWNUM RN,VT.* FROM V$TABLESPACE VT WHERE ROWNUM <10 ORDER BY VT.NAME) A WHERE A.RN = 3;
得到指定行的数据,分析:子查询中ROWNUM编号需定义别名(本例中为"RN")后方可在条件中使用本回答被提问者采纳

怎样在plsql查询数据库的表

    在菜单 Tools 下面有个 Object browser 将其打勾(如果已经打勾了就不用管了)

    之后在IDE的左边有个Objects窗口,其中有一个树型结构图,在里面找到Tables 展开就可以了看到所有的Table了

  默认显示的表包括系统表和权限允许范围内的其他schema下的表,如果不想看到,只需将树型图上方的All objects(下拉选框)改为My objects 就只看自己的表了

参考技术A PLSQL中查询语句的行号可以用ROWNUM(伪列)标识, 如SELECT ROWNUM,VT.* FROM V$TABLESPACE VT; 但PLSQL很少用行号查询数据库, 除非为了控制数据量 如SQLSERVER的SELECT TOP * ... 或PLSQL的SELECT * FROM WHERE ROWNUM =1, 或ROWNUM本回答被提问者和网友采纳 参考技术B select * from user_tables;

以上是关于plsql怎样根据表的行号查询数据的主要内容,如果未能解决你的问题,请参考以下文章

plsql查询中'%%'是模糊查询吗?为啥查不出来呢?

在SQL中怎样查询一个表的第20条数据到30条数据

PLSQL怎样导出oracle表结构和数据

怎样将Excel内准备的数据用PLSQL Developer导入到Oracle表

sql怎样把一个表的数据更新到另一个表

oracle速度变慢,怎样解决