【Oracle复杂查询】教程文章相关的互联网学习教程文章

Oracle复杂查询【图】

数据分组, 分组函数max, min, avg, sum, count查询工资最高的人的姓名select ename from emp where sal = (select max(sal) from emp);给所有低于平均工资的员工薪水上涨10%update emp set sal = (select avt(sal) from emp)*10% where sal<(select avt(sal) from emp); grout by 和 having 字句 groupt by用于对查询结果分组统计 having子句用于限制分组结果显示如何显示每个部门的平均工资和最高工资select avg(sal),max(sal), ...

Oracle_复杂查询综合

-- 1、列出所有员工的年工资,按年薪从低到高排序。 select empno, ename, sal, nvl2(comm, (sal+comm)*12, sal*12) income from emp order by income; -- 2、列出薪金比“SMITH”多的所有员工。 select * from emp where sal>( select sal from emp where ename=‘SMITH‘ ); -- 3、列出所有员工的姓名及其直接上级的姓名。 select e1.ename, e2.ename from emp e1 join emp e2 on e1.mgr=e2.empno(+); -...

oracle复杂查询是sql

一、over()分析函数分组查前几条:select * from test t where (select count(*) from test a where t.type=a.type and t.scope>a.scope)<2;--rank()/dense_rank() over(partition by ...order by ...)  select * from(select t.*,rank() over(partition by t.type order by t.scope ) a from TEST t) a where a.a<3--dense_rank()分级 连续排序select t.*,dense_rank() over(partition by t.type order by t.scope)a from tes...

oracle复杂查询(一)【代码】【图】

1、 列出至少有一个员工的所有部门编号、名称,并统计出这些部门的平均工资、最低工资、最高工资。 select d.DEPTNO 部门编号,d.DNAME 部门名称,trunc(avg(e.SAL)) 平均薪资, min(e.SAL) 最低工资, max(e.SAL) 最高工资 from emp e, DEPT d WHERE e.DEPTNO(+)=d.DEPTNO GROUP BY d.DEPTNO,d.DNAME,d.LOC HAVING count(e.EMPNO)>0 2、 列出薪金比“MARTIN”或“ALLEN”多的所有员工的编号、姓名、部门名称、其领导姓名。 SELECT e...

循序渐进学Oracle之复杂查询(重点)【图】

前言在实际应用中经常需要执行复杂的数据统计,经常需要显示多张表的数据,故必须要高度重视:复杂的select语句!1-数据分组的重要函数:max、min、avg、sum、count(1前言 在实际应用中经常需要执行复杂的数据统计,经常需要显示多张表的数据,故必须要范例:没有40部门,我们换成RIGHT JOIN…ON ,如下图所示: 由上可知:40部门出现了!在Oracle之外的数据库(SQLSERVER、MYSQL、DB2等)都使用以上的SQL:1999语法操作,故必须要会!(当...

Oracle多表的复杂查询【图】

一.分页查询: 1. 根据rowid来分 select * from t_xiaoxi where rowid in (select rid from (select rownum rn, rid fr 一.分页查询: 1. 根据rowid来分 select * from t_xiaoxi where rowid in (select rid from (select rownum rn, rid from(select rowid rid, cid from t_xiaoxi order by cid desc) where rownum<10000) where rn>9980) order by cid desc; 执行时间0.03秒 2. 按分析函数来分 select * from ...

Oracle复杂查询入门教程【图】

select comm from emp;--查询工资最高的员工select ename,job,sal from emp where sal = (select max(sal) from emp);select ena select comm from emp;--查询工资最高的员工select ename,job,sal from emp where sal = (select max(sal) from emp);select ename,job,sal*13+nvl(comm,0)*13 s from emp order by s desc;--查询平均工资,总工资 select avg(nvl(sal,0)),sum(nvl(sal,0)) from emp;--查询奖金select avg(comm),sum(c...

Oracle复杂查询练习题【图】

bookEnrol是用来登记的,不管你是借还是还,都要添加一条记录。请写一个SQL语句,获取到现在状态为已借出的所有图书的相关信息, 1.删除重复记录(当表中无主键时)2.bookEnrol是用来登记的,,不管你是借还是还,都要添加一条记录。 请写一个SQL语句,获取到现在状态为已借出的所有图书的相关信息, ID为3的java书,由于以归还,所以不要查出来。要求查询结果应为:(被借出的书和被借出的日期)