Oracle分页查询
2012-10-30 17:30
176 查看
=====================
mysql
=====================
select * from table_name limit 从第几条取,取几条
=====================
sql server
=====================
select top 4 * from 表名 where not in(select top 4 * from 表名 where 条件);
排除前4条,再取4条
=====================
oracle
=====================
--第一层
select * from emp;
--第二层
select t1.*,rownum rn from (select * from emp) t1 where rownum<=12;
--第三层
select t2.* from (select t1.*,rownum rn from (select * from emp) t1 where rownum<=10) t2 where t2.rn>=6;
int startIndex; 开始位置
int pageSize; 取的条数
select t2.* from (select t1.*,rownum rn from (select * from emp) t1 where rownum<=(startIndex*pageSize)) t2 where t2.rn>=((startIndex-1)*pageSize+1);
测试:
--创建新表查入另一张表的数据
create table mytest as select empno,ename,job,sal,comm from emp;
--自我赋值数据[多次执行]
insert into mytest(empno,ename,job,sal,comm) select * from mytest;
select t2.* from (select t1.*,rownum rn from (select * from emp) t1 where rownum<=10) t2 where t2.rn>=6;
select t2.* from (select t1.*,rownum rn from (select * from emp) t1 where rownum<=300010) t2 where t2.rn>=300000;
分别查看所执行的时间
mysql
=====================
select * from table_name limit 从第几条取,取几条
=====================
sql server
=====================
select top 4 * from 表名 where not in(select top 4 * from 表名 where 条件);
排除前4条,再取4条
=====================
oracle
=====================
--第一层
select * from emp;
--第二层
select t1.*,rownum rn from (select * from emp) t1 where rownum<=12;
--第三层
select t2.* from (select t1.*,rownum rn from (select * from emp) t1 where rownum<=10) t2 where t2.rn>=6;
int startIndex; 开始位置
int pageSize; 取的条数
select t2.* from (select t1.*,rownum rn from (select * from emp) t1 where rownum<=(startIndex*pageSize)) t2 where t2.rn>=((startIndex-1)*pageSize+1);
测试:
--创建新表查入另一张表的数据
create table mytest as select empno,ename,job,sal,comm from emp;
--自我赋值数据[多次执行]
insert into mytest(empno,ename,job,sal,comm) select * from mytest;
select t2.* from (select t1.*,rownum rn from (select * from emp) t1 where rownum<=10) t2 where t2.rn>=6;
select t2.* from (select t1.*,rownum rn from (select * from emp) t1 where rownum<=300010) t2 where t2.rn>=300000;
分别查看所执行的时间
相关文章推荐
- SQLSERVER,ORACLE,MYSQL高效分页查询
- Oracle分页查询语句的写法(转)
- Oracle SQL实现分页查询
- oracle 动态分页查询的写法
- Oracle分页查询语句(一)
- Oracle分页查询语句
- mysql 和oracle分页查询
- 详解Oracle的几种分页查询语句【转】
- ORACLE分页查询SQL语法——最高效的分页
- Oracle之分页高效查询
- ORACLE分页查询
- Oracle_Day2 查询练习,以及分页
- MySQL、SqlServer、Oracle三大主流数据库分页查询
- ORACLE分页查询SQL语法——最高效的分页
- mysql和oracle 分页查询(转)
- Oracle分页查询语句
- oracle SQL 分页查询方法
- Oracle分页查询
- Oracle学习笔记 -- day05 多表查询、连接查询、子查询、分页、行转列、集合运算
- Oracle分页查询格式6