--分页查询---begin
--sqlserver top
--mysql limit
--oracle rownum(伪列),oracle中伪列(rownum,rowid)

 --查询工资为前五的信息
SELECT ROWNUM,tmp.* FROM (SELECT * FROM emp WHERE SAL IS NOT NULL ORDER BY sal DESC) tmp;
--查询工资在第6条至第12条的信息
--方法一:
--1.查询在前12(包含第12条)的信息
SELECT sal FROM (SELECT * FROM emp WHERE SAL IS NOT NULL ORDER BY sal DESC) WHERE ROWNUM <=12;
--2.查询在前6(包含第六条)的信息
SELECT sal FROM (SELECT * FROM emp WHERE SAL IS NOT NULL ORDER BY sal DESC) WHERE ROWNUM <=5;
--3.
SELECT ROWNUM, tmp.*
FROM (SELECT * FROM emp WHERE sal IS NOT NULL ORDER BY sal DESC) tmp
WHERE sal IN
(SELECT sal
FROM (SELECT * FROM emp WHERE sal IS NOT NULL ORDER BY sal DESC)
WHERE rownum <= 12)
AND sal NOT IN
(SELECT sal
FROM (SELECT * FROM emp WHERE sal IS NOT NULL ORDER BY sal DESC)
WHERE rownum <= 5);
--方法二:嵌套子查询
SELECT tem.*
FROM (SELECT rownum r, tmp.*
FROM (SELECT * FROM emp WHERE sal IS NOT NULL ORDER BY sal DESC) tmp) tem
WHERE tem.r BETWEEN 6 AND 12;
 --查询工资最高的第6条到第12条的员工信息
--1.
SELECT *
FROM (SELECT rownum row_top ,tt.*
FROM (SELECT e.*
FROM employees e
WHERE e.salary IS NOT NULL
ORDER BY salary DESC) tt)
WHERE row_top BETWEEN 6 AND 12;
--2. 效率较于1
SELECT *
FROM (SELECT rownum row_top, tt.*
FROM (SELECT rownum rn, e.*
FROM employees e
WHERE e.salary IS NOT NULL
ORDER BY salary DESC) tt)
WHERE row_top <= 12
AND row_top >= 6;
--3.效率较于2---推荐使用
SELECT *
FROM (SELECT rownum rn, tt.*
FROM (SELECT *
FROM employees e
WHERE e.salary IS NOT NULL
ORDER BY salary DESC) tt
WHERE rownum <= 12)
WHERE rn >= 6
 --视图
--查询全部的20号 部门的雇员信息(雇员编号,姓名,工作,雇佣日期)
CREATE OR REPLACE VIEW view20 AS SELECT empno, ename, job, hiredate FROM emp WHERE deptno = 20;
--创建视图v_dept:查询每个部门的编号,名称,员工人数,员工工资总和
CREATE OR REPLACE VIEW v_dept AS
SELECT e.deptno,d.dname,COUNT(e.empno) c, SUM(e.sal) s
FROM emp e
FULL JOIN dept d
ON e.deptno = d.deptno
GROUP BY e.deptno,d.dname; SELECT * FROM v_dept WHERE c >= 3;
SELECT Count(*) from emp;

Orcle基本语句(五)的更多相关文章

  1. {MySQL的逻辑查询语句的执行顺序}一 SELECT语句关键字的定义顺序 二 SELECT语句关键字的执行顺序 三 准备表和数据 四 准备SQL逻辑查询测试语句 五 执行顺序分析

    MySQL的逻辑查询语句的执行顺序 阅读目录 一 SELECT语句关键字的定义顺序 二 SELECT语句关键字的执行顺序 三 准备表和数据 四 准备SQL逻辑查询测试语句 五 执行顺序分析 一 SEL ...

  2. Orcle 查询语句

    首先,以超级管理员的身份登录oracle       sqlplus sys/bjsxt as sysdba   --然后,解除对scott用户的锁       alter user scott ac ...

  3. Orcle基本语句(六)

    -- Created on 2017/1/5 by ADMINISTRATOR DECLARE -- Local variables here i ; v_name ) := '张晓风'; v_age ...

  4. ORCLE基本语句(二)

    select语句的基本语法: [ORDER BY < COLUMN1, COLUMN2, COLUMN3...> [ASC 或 DESC]]

  5. Orcle基本语句(三)

    COMMIT; --查询表内所有内容 SELECT * FROM stu_info; --查询部分列,并赋予别名 SELECT stu_id 学生标号,stu_name 学生姓名 FROM stu_i ...

  6. Orcle常用语句

    在SQLPlus界面的操作语句: 查看\设置每行内显示的字符数:show\set linesize [linesize] 查看\设置一次显示的行数:show\set pagesize [pagesiz ...

  7. Orcle基本语句(一)

    --创建学生信息表,约束放在所有列定义之后 CREATE TABLE stu_info( stu_id INTEGER, stu_name NVARCHAR2() NOT NULL, stu_sex ...

  8. 数据库 数据库SQL语句五

    集合运算 union 并集(两个集合如果有重复部分,那么只显示一次重复部分) union all 并集(两个集合如果有重复部分,那么重复部分显示两次) intersect 交集 minus 差集 -- ...

  9. Orcle基本语句(四)

    --显示员工的编号,姓名,工资,工资级别,所在部门的名称;(使用emp表) SELECT * FROM emp; SELECT * FROM salgrade; SELECT * FROM dept; ...

随机推荐

  1. Apache虚拟机建立本地域名

    Apache虚拟机建立本地域名 1.首先打开conf文件夹下http.conf文件,查找vhost,如下操作 2.删除#(取消注释,启用虚拟机功能),根据红框内路径找到httpd-vhosts.con ...

  2. (转)Image Segmentation with Tensorflow using CNNs and Conditional Random Fields

    Daniil's blog Machine Learning and Computer Vision artisan. About/ Blog/ Image Segmentation with Ten ...

  3. 在Windows上运行InfoPi

    一.安装Python Python官网的下载页面:  https://www.python.org/downloads/ 请下载Python 3.4或以上版本. (Python 3.5已不再支持Win ...

  4. docker-centos 7.2

    1.安装准备 预防volumes项出现Permission denied setenforce 0 #关闭selinux防火墙,临时关闭.永久关闭需改/etc/selinux/config文件,将SE ...

  5. php lock_sh共享锁 与 lock_ex排他锁

    参考网站:http://hi.baidu.com/honly1215/item/8d27a66d11689c3aac3e83fe 文件锁有两种:共享锁和排他锁,也就是读锁(LOCK_SH)和写锁(LO ...

  6. C++ 数字转字符串

    #include <sstream> string num2str( int i) { stringstream ss; ss<<i; return ss.strs(); }

  7. Java Junit单元测试

    使用Junit进行单元测试,首先引入Junit的jar,配置如下. @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(&quo ...

  8. 实现Cookie跨域共享

    实现原理:cookie是不能跨域访问的,但是在二级域名是可以共享cookie的 概念说明:站点1=a.abc.com   站点2=b.abc.com 实现步骤:1. 配置两个站点的webconfig ...

  9. AMD模块介绍(翻译)

    http://dojotoolkit.org/documentation/tutorials/1.10/modules/index.html Dojo支持以异步模型定义(AMD)方式编写的模块,让会让 ...

  10. 【zz】MIT牛人解说数学体系

    作者:林达华 一.为什么要深入数学的世界 作为计算机的学生,我(原作者)没有任何企图要成为一个数学家.我学习数学的目 的,是要想爬上巨人的肩膀,希望站在更高的高度,能把我自己研究的东西看得更深广一些. ...