ROWNUM伪列:

简介: ROWNUM伪列:1、使用SELECT语句返回的结果集,希望按特定条件查询前N条记录,可以使用伪列ROWNUM。
ROWNUM伪列:
1、使用SELECT语句返回的结果集,希望按特定条件查询前N条记录,可以使用伪列ROWNUM。ROWNUM是对结果集加一个伪列,先查到结果集后再加上一个列,是符合条件结果的序列号;从1开始排起,只能用< > = !=这些比较符合。
ROWNUM对于 等于 某值的查询条件,比如查询第一条记录,可以使用ROWNUM=1作为条件;但是如果查询第二条记录写ROWNUM=2则查询不到数据,ROWNUM的=判断只对于1有效;
2、同理,查询 大于 某值的查询条件,ROWNUM>n(n>1的自然数)这种条件不成立;那如何查询第一行以后的记录呢?
solution:用子查询解决,但是必须为rownum设置别名,"select * from (select  rownum no  ,id,name from table1) where  no >1";
3、ROWNUM对于 小于 某值的查询是可以的,select * from table1 where rownum<3
4、ROWNUM和排序
Oracle中rownum是在取数据时产生的序号,想对指定排序的数据指定rownum行数据就要做处理了:
"select rownum,id,name from table1 order by name",查询结果按name排序,但是rownum不是按1、2、3...排列,而是按记录插入时的顺序给记录排号;
solution:使用子查询 ,select rownum ,id,name from(select * from table1 order by name)
目录
相关文章
|
1月前
|
SQL Oracle 关系型数据库
ROWNUM
【11月更文挑战第04天】
44 8
|
1月前
|
SQL
SELECT DISTINCT
【11月更文挑战第02天】
46 1
|
SQL Oracle 关系型数据库
Oracle中的分组查询、子查询、多表连接
Oracle中的分组查询、子查询、多表连接
286 0
Oracle中的分组查询、子查询、多表连接
|
SQL Oracle 关系型数据库
SQL 连接查询、子查询、union
SQL 连接查询、子查询、union
274 0
SQL 连接查询、子查询、union
|
Oracle 关系型数据库 MySQL
Mysql数据库,子查询,union,limit篇
参数 expression1, expression2, ... expression_n: 要检索的列。 tables: 要检索的数据表。 WHERE conditions: 可选, 检索条件。 DISTINCT: 可选,删除结果集中重复的数据。默认情况下 UNION 操作符已经删除了重复数据,所以 DISTINCT修饰符对结果没啥影响。 ALL: 可选,返回所有结果集,包含重复数据。 案例:查询工作岗位为MANAGER或者SALESMAN的员工信息(使用union)
153 0
Distinct
SQL 去重
162 0
|
SQL
表复制:SELECT INTO 和 INSERT INTO SELECT
表复制:SELECT INTO 和 INSERT INTO SELECT
168 0
|
SQL 存储 运维
Oracle-12:伪列rowid和rownum
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------       伪列:不真实存储在真表中,但是我们可以查询到不能对伪列进行增删改操作!   分页可以用rownum来分!!!!!!!(因为oracle中没有limit)   放一份数据库脚本,...
945 0