现在的位置: 首页 > 综合 > 正文

Oracle表的常用查询实验(二)

2013年10月23日 ⁄ 综合 ⁄ 共 1520字 ⁄ 字号 评论关闭

Oracle表的常用查询实验(二)

1.查询所有雇员的姓名、SALCOMM之和。

select ename,sal+nvl(comm,0) “sal-and-comm” from emp;

 

2.查询所有8171日以前来的员工姓名、工资、所属部门的名字

select ename,sal,dname from emp,dept where emp.deptno=dept.deptno and hiredate>=to_date(‘1981-07-01’,’yyyy-mm-dd’);

 

3.查询各部门中8111日以后来的员工数

select deptno,count(*) from emp where hiredate>=to_date(‘1981-01-01’,’yyyy-mm-dd’) group by deptno;

 

4.查询所有在CHICAGO工作的经理MANAGER和销售员SALESMAN的姓名、工资

select ename,sal from emp where (job=’MANAGER’ or job=’SALES’) and deptno in (select deptno from dept where loc=’CHICAGO’);

 

5.查询列出来公司就职时间超过24年的员工名单

select ename from emp where hiredate<=add_months(sysdate,-288);

 

6.查询于81年公司所有员工的总收入(SALCOMM

select sum(sal+nvl(comm,0)) from emp where to_char(hiredate,’yyyy’)=’1981’;

 

7.查询显示每个雇员加入公司的准确时间,按××××××××日时分秒显示。

select ename,to_char(hiredate,'yyyy-mm-dd hh24:mi:ss') from emp;

 

8.查询公司中按年份月份统计各地的录用职工数量

select to_char(hiredate,'yyyy-mm'),loc,count(*) from emp,dept

   where emp.deptno=dept.deptno group by to_char(hiredate,'yyyy-mm'),loc;

 

9.查询列出各部门的部门名和部门经理名字

select dname,ename from emp,dept where emp.deptno=dept.deptno and job=’MANAGER’;

 

10.查询部门平均工资最高的部门名称和最低的部门名称

select dname from dept where deptno=(select deptno from (select deptno from emp group by deptno order by avg(sal) ) where rownum<=1)

    union all select dname from dept where deptno=(select deptno from (select deptno from emp group by deptno order by avg(sal) desc ) where rownum<=1);

 

11.查询与雇员号为7521员工的最接近的在其后进入公司的员工姓名及其所在部门名

select ename,dname

  from (select ename,deptno from

    (select ename,deptno from emp where hiredate>(select hiredate from emp where empno=7521) order by hiredate ) where rownum<=1) e,dept

    where e.deptno=dept.deptno

 

抱歉!评论已关闭.