ROWNUM只能定义第一行,不能定义第二行,(select后执行,因为select前还没有生成数据行数),这里是oracle自己的数据固定查询。
SELECT ROWNUM,empno,ename,job,hiredate FROM scott.emp WHERE deptno=30 AND ROWNUM = 1;
ROWNUM可以查询前N行数据
SELECT ROWNUM,empno FROM scott.emp WHERE ROWNUM<=10;
记住:不能使用BETWEEN...AND
分页查询
-
取出前10条记录
-
通过子查询,帅选出后5条记录
SELECT *
FROM (
SELECT ROWNUM rn,empno,ename,job,hiredate FROM scott.emp
WHERE ROWNUM<=10
) temp
WHERE temp.rn>5;
当查询的数据不足五条时,只会返回4行数据
一定要将以上的分页查询使用熟练,一定会用到
-
当拿到一张新表时,想看一下表的数据(表中数据太多,会很麻烦,甚至会导致数据库死机)
- 用count(*)
SELECT count(*) FORM new_table;