首页 > 代码库 > rownum
rownum
rownum是一个伪列,oracle数据库会对查找到的数据 从1 开始递增指定每行的rownum值,
当查询条件里有 rownum时(比如 where rownum>2),数据库会依次从数据集里的第一行数据到最后一行数据去匹配,如果第一行不满足where条件(比如指定where条件里有rownum>2时,第一行数据因为rownum=1而不满足,此时会抛弃第一行,第二行的数据因此变成了第一行,因此比较下去,因为下面的每行依次变为1,所以不可能有满足rownum>2的,此时查询不到数据)则数据集会将查找到的满足where条件里除rownum外其他条件的数据删掉。
where 条件1,条件2,条件3 查到的数据集
数据集 | 满足条件1 | 满足条件2 | 满足条件3 | rownum |
1 | 1 | |||
2 | 2 | |||
3 | 3 | |||
4 | 4 |
where 条件1,条件2,条件3 rownum<3 查到的数据集
数据集 | 满足条件1 | 满足条件2 | 满足条件3 | rownum |
1 | 1 | |||
2 | 2 |
where 条件1,条件2,条件3 rownum>2 查不到数据
数据集 | 满足条件1 | 满足条件2 | 满足条件3 | rownum |
1 | 1小于2 所以删除 下一行变为1 | |||
2 | 2=> rownum变成了1 所以也删除继续判断下面的 | |||
...... |
参见:http://www.cnblogs.com/mabaishui/archive/2009/10/20/1587165.html
rownum
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。