-
分页查询,4条每页,并显示第二页数据
select rownum ,rr,fhiino,fspno,fprocseq
from (
select rownum rr,fhiino,fspno,fprocseq
from
(
select rownum,fhiino,fspno,fprocseq from ilapplym am where am.FAPPLYTM >to_date('2017-01-01','yyyy-mm-dd')
order by am.FPROCSEQ desc
)
e1 where rownum <=8 ) e2
where rr>5
查看全部 -
not in语句中不能有null值,否则返回空集,因为expr <> null永远为假。
所以在处理 in 的子查询的时候,要确保子查询中返回的值没有空值。
select * from emp where empno not in (select mgr from emp where mgr is not null);
查看全部 -
select empno,ename,sal,(select avg(sal) from emp where deptno = e.deptno) avgsal from emp e where sal > (select avg(sal) from emp where deptno = e.deptno);
相关子查询:主表中的某个字段作为参数传入到子查询中
查看全部 -
利用树的深度原理去实现层次查询。
select empno,bname//查询员工号和老板号 from emp
connect by prior empno=mgr//员工号的上一层(老板号)=老板号
start with empno=2431;
根节点还可以 start with mgh is null;(根节点的老板号为空)
查看全部 -
外链接:把对于连接条件不成立的记录,仍然包含在结果中。
左外链接:当连接条件不成立的时候,等号左边的表仍然包含
右外连接:当连接条件不成立的时候,等号右边的表仍然包含
写法和叫法相反
查看全部 -
group by 语句增强,工资总和相加可以用rollup来表示。
查看全部 -
between and,小值在前,大值在后
等值连接:连接条件后为等号
不等值连接:连接条件后不为等号
查看全部 -
笛卡尔集:emp*dept.列数相加,行数相乘
查看全部 -
groupby语句增强
select deptno,job,sum(sal)
from emp group by rollup(deptno,job);
group by rollup分组等价于 group by deptno +group by job+null group by null group by 语句的增强可用于做报表:
break on deptno skip 2 //相同部门号只显示一次,不同部门号间隔两行
set pagesize 30 //设置每一页显示30行
查看全部 -
nvl()把空值转换成一个非空的值
查看全部 -
avg (表中列字段) ,
sum (表中列字段) from 表; --列出 表中字段的平均值,和
max (表中的字段),
min (表中的字段) from 表 ; --列出表中字段的 最大值 最小值
count(*) 输出这个表中一共有的数据条数
count(distinct 表中字段) f; 输出表中不重复字段的个数
distinct 用于去重查看全部 -
rownum 行号 伪列
查看全部 -
可以使用子查询的位置:where,select,having,from
不可以使用子查询的位置:group by
查看全部 -
层次查询:在某些情况下可以替代自连接,避免笛卡尔全集,本质上是一个单表查询。
添加level,start with ,order by 1。
查看全部 -
自连接:通过别名,将同一张表视为多张表。
查看全部
举报