1.伪列
oracle中提供了2个伪列:rowid rownum
rowid和rownum是不需要手动创建,不管是系统还是自定义表,在创建的时候rowid和容我怒骂自动生成,默认是不可见,需要手动显示出来
rowid唯一标识列,类似身份证号码,无规律,都是通过字母随机组合的。
select rowid,emp.* from emp;
rownum唯一标识,生成一连串有顺序的编号,从1开始,本质就是行号
rownum的核心实现分页。
--需求:不考虑排序,直接显示emp表中的第一条----》第五条的数据
--注意事项:如果select中标明了rownum伪列字段,查询条件中的大于符号无效
select a.*,rownum from emp a where rownum >=6 and rownum <= 10
--解决方案:将位列rownum 变成 明列即可。 就是起别名,让rownum这个位列字段成为表的字段。
select * from tb_name
--如果结果集中出现三列,其实它有五列,还有两个列:rowid、rownum
--rowid:唯一标识符,这是系统给的,不是我们自己定义的
--rownum:有点类似sql中的row_number()方法
怎么查看?
select t.*,rowid from tb_name t;
select t.*.rownum from tb_name t;
注意:在Oracle项目中,一般都使用rownum做分页。
这两个可以同时用吗?可以
select