伪列
伪列
排序,100 100 100 100 100 99 99 98
1 1 1 1 1 6/2 6/2 8/3
1 2 3 4 5 6 7 8
伪列有两个东西:ROWID ROWNUM
什么是伪列:–隐藏起来的列
ROWID:身份识别码,在数据库中为数据生成的独一无二的身份识别码;
ROWNUM:生成一列从1开始的升序的序号,并不会收到其他因素的干扰。
1 | SELECT EMP.*,ROWID,ROWNUM FROM EMP; |
–伪列必须从1开始
1 | SELECT * FROM EMP WHERE ROWNUM >=1; |
–把他想象成一摞积木,最下面算第一个,不符合把第一个拿掉,第二个变成第一个,第一个还是不符合拿掉,第三个变为第一个,不符合拿掉,以此类推
1 | SELECT * FROM (SELECT A.*,ROWNUM 排序 FROM (SELECT * FROM EMP ORDER BY SAL) A) WHERE 排序 BETWEEN 1 AND 5; |
–思考什么东西运行在WHERE之前?
1 | 查询工资最低的五名员工信息 |
–ROWNUM不是固定序列,而是一个总是从1开始的可变序列
–要么用小于,要么大于等于1,不从1开始就起别名
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 BestDream!