oracle总结5

来源:互联网 发布:手机打开mobi软件 编辑:程序博客网 时间:2024/06/06 00:19
1,查询表DEPT中所有部门的情况。
2,查询表DEPT中的部门号,部门名称两个字段的所有信息。
3,查询表EMP中查询30号部门职位的雇员姓名和工资。
4,请从表EMP中查找工种是职员CLERK或职位为MANAGER的雇员姓名,工资。
5,请在EMP表中查找部门号在10-30之间的雇员的姓名,部门号,工资,职位。
6,请从表EMP中查找姓名以J开头所有雇员的姓名,工资,职位。
7,请从表EMP中查找工资不大于2000的雇员的姓名,工资,职位,并按工资降序排列。
8,请从表中查询职位是CLERK的所有人的姓名,工资,部门号,部门名称以及部门地址的信息。
9,查询表EMP中所有的工资大于等于2000的雇员姓名和他的经理的名字。
10,在表EMP中查询所有工资高于BLAKE的所有雇员姓名,职位和工资。
 
 
 
 
 
25,查询与雇员号为7521员工的最接近的在其后进入公司的员工姓名及其所在部门名
24,查询部门平均工资最高的部门名称和最低的部门名称
 
select b.avg_sal,c.dname
from  
(select round(avg(sal),2) avg_sal,deptno from emp group by deptno) a
join (
select max(avg_sal)  avg_sal from  
(select  round(avg(sal),2) avg_sal,deptno from emp group by deptno)) b  
on a.avg_sal=b.avg_sal
join dept c on c.deptno=a.deptno
union all
select b.avg_sal,c.dname
from  
(select round(avg(sal),2) avg_sal,deptno from emp group by deptno) a
join (
select min(avg_sal)  avg_sal from  
(select  round(avg(sal),2) avg_sal,deptno from emp group by deptno)) b  
on a.avg_sal=b.avg_sal
join dept c on c.deptno=a.deptno;
 
23,查询列出各部门的部门名和部门经理名字
select a.ename,b.dname  
from emp a join dept b on a.deptno=b.deptno  
where a.job='MANAGER';
 
22,查询公司中按年份月份统计各地的录用职工数量
 
 
select to_char(a.hiredate,'yyyy-mm') hire_date,b.loc,count(*) counts
from emp a join dept b on a.deptno=b.deptno  
group by to_char(a.hiredate,'yyyy-mm'),b.loc
order by to_char(a.hiredate,'yyyy-mm');
 
21,查询显示每个雇员加入公司的准确时间,按××××年××月××日 时分秒显示。
20,查询于81年来公司所有员工的总收入(SAL和COMM)
19,查询列出来公司就职时间超过24年的员工名单
 
18,查询所有地为CHICAGO,职位为MANAGER 或 SALESMAN 的姓名,工资
 
select a.ename,a.sal,a.job,b.loc
from emp a join dept b  
on a.deptno=b.deptno
where  b.loc='CHICAGO' and (a.job='MANAGER' OR a.job='SALESMAN');
 
 
17,查询各部门中81年7月1日以后来的员工姓名,工资,所属部门的名字
16,查询所有81年7月1日以前来的员工姓名,工资,所属部门的名字
 
 
15,查询所有雇员的姓名,SAL与COMM之和。
select ename,sal+nvl(comm,0) sal_comm from emp;
 
 
 
14,雇员中谁的工资第二高(考虑并列第一的情况,如何处理)。
select a.ename,a.sal from emp a  
where a.sal=(
select min(sal) from (select distinct sal from emp  order by sal desc ) where rownum <=2);
 
 
select ename,sal from emp where sal=(
select max(sal) from  
(
select sal from emp
minus
select max(sal) sal  from emp));
 
 
select max(sal) from emp where sal not in (
select max(sal) from emp)  
 
 
 
13,雇员中谁的工资最高。
12,查找工资在5000-10000之间的雇员所在部门的所有人员信息
11,列出没有对应部门表信息的所有雇员的姓名,职位以及部门号。
0 0
原创粉丝点击