匿名用户Oracle在相同值排序的情况下,会如何选择谁在前谁在后?
Oracle在相同值排序的情况下,会如何选择谁在前谁在后?
我来答
添加附件
收藏
复制链接
微信扫码分享
在小程序上查看
分享
添加附件
问题补充
2条回答
默认
最新
SQL> create table t1 (id number,name varchar2(10));
Table created.
SQL> insert into t1 values(1,'a');
1 row created.
SQL> insert into t1 values(2,'a');
1 row created.
SQL> insert into t1 values(3,'a');
1 row created.
SQL> commit;
SQL> select * from t1 order by name;
ID NAME
---------- ----------
1 a
3 a
2 a
SQL> select * from t1 order by name;
ID NAME
---------- ----------
1 a
3 a
2 a
SQL> select rownum,rowid,id,name from t1 order by name;
ROWNUM ROWID ID NAME
---------- ------------------ ---------- ----------
1 AABsyUAABAAAvShAAA 1 a
3 AABsyUAABAAAvShAAC 3 a
2 AABsyUAABAAAvShAAB 2 a
SQL> select rownum,rowid,id,name from t1 order by rowid;
ROWNUM ROWID ID NAME
---------- ------------------ ---------- ----------
1 AABsyUAABAAAvShAAA 1 a
2 AABsyUAABAAAvShAAB 2 a
3 AABsyUAABAAAvShAAC 3 a
SQL> insert into t1 values(4,'b');
1 row created.
SQL> commit;
Commit complete.
SQL> select rownum,rowid,id,name from t1 order by name;
ROWNUM ROWID ID NAME
---------- ------------------ ---------- ----------
1 AABsyUAABAAAvShAAA 1 a
2 AABsyUAABAAAvShAAB 2 a
3 AABsyUAABAAAvShAAC 3 a
4 AABsyUAABAAAvShAAD 4 b
SQL> alter system flush shared_pool;
System altered.
SQL> select rownum,rowid,id,name from t1 order by name;
ROWNUM ROWID ID NAME
---------- ------------------ ---------- ----------
1 AABsyUAABAAAvShAAA 1 a
2 AABsyUAABAAAvShAAB 2 a
3 AABsyUAABAAAvShAAC 3 a
4 AABsyUAABAAAvShAAD 4 b
SQL> delete from t1 where id =4;
1 row deleted.
SQL> commit;
Commit complete.
SQL> alter system flush shared_pool;
System altered.
SQL> select rownum,rowid,id,name from t1 order by name;
ROWNUM ROWID ID NAME
---------- ------------------ ---------- ----------
1 AABsyUAABAAAvShAAA 1 a
3 AABsyUAABAAAvShAAC 3 a
2 AABsyUAABAAAvShAAB 2 a
确实很神奇
评论
有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏


