--分页查询---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. Python之路,day6-Python基础

    1.config 模块 import configparser conf = configparser.ConfigParser() conf[', 'Compression': 'yes', '} ...

  2. linux下利用GPRS模块发短信、打电话

    一.开发环境     内核版本:linux-3.0    开发板:FL2440(nandflash:K9F1G08 128M)    GPRS模块:SIM900   二.与发短信和拨号相关的 AT 指 ...

  3. ASP.NET MVC图片上传

    工具:ssi-uploader $('#id').ssi_uploader({ url: 'path' }); public ActionResult path() { HttpPostedFileB ...

  4. Character类的2个定义大小写方法以及charAt(int index)方法

    API文档charAt(int index)是这样定义的: charAt(char index):Returns the char value at the specified index.在指定的索 ...

  5. awk 的使用

    awk [-F field-separator] 'commands' input-file(s) 其中,commands 是真正awk命令,[-F域分隔符]是可选的.input-file(s) 是待 ...

  6. C#调试心经续(转)

    断点篇 命中次数(Hit Counts) 右击断点,可以设置Hit Counts(命中次数),会弹出如下的对话框 当条件满足的时候断点会被命中(即即将被执行),这个命中次数是断点被命中的次数.默认是始 ...

  7. JS跨域解决iframe高度自适应(IE8/Firefox/Chrome适用)

    参考园友的js跨越实现,有提到三种方式: 1. 中间页代理方式,利用iframe的location.hash 参见:http://www.5icool.org/a/201203/a1129.html ...

  8. ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'type=InnoDB' at line 7

    问题: 使用hibernate4.1.1,数据库使用mysql5.1.30,使用hibernate自动生成数据库表时,hibernate方言使用org.hibernate.dialect.MySQLI ...

  9. dubbo服务自动化测试搭建

    java实现dubbo的消费者服务编写:ruby实现消费者服务的接口测试:通过消费者间接测试dubbo服务接口的逻辑 内容包括:dubbo服务本地调用环境搭建,dubbo服务启动,消费者部署,脚本编写 ...

  10. 基础14_转义字符和特殊字符ASCII

    一.摘要 PSQL转义字符 二.PLSQL转义字符 PLSQL对应的字符和序号关系 二.PLSQL特殊字符 PLSQL对应的字符和序号关系 1. 转义字符为' '; )||'%'; --A&B ...