--1.查询每个部门薪水大于平均薪水的员工信息
select * from emp where sal>(select avg(sal) from emp);
--2.检索部门编号、部门名称、部门所在地及其每个部门的员工总数。
select d.deptno,dname,loc,c from dept d,(select count (*) c,deptno from emp group by deptno) e where d.deptno=e.deptno;
--3.检索30部门中1980年1月份之前入职的员工信息。显示:员工号、员工名、部门号,部门名、入职日期。
select empno,ename,emp.deptno,dname,hiredate from emp,dept where emp.deptno=dept.deptno and emp.hiredate<to_date('1985-11-02','YYYY-MM--DD');
--3.检索雇员的雇佣日期早于其经理雇佣日期的员工及其经理姓名。
select e1.ename,e2.ename from emp e1,emp e2 where e1.empno =e2.mgr and e1.hiredate>e2.hiredate;
select * from emp;
4.按部门号(deptno) 及 工资(sal)排序检索公司的员工信息(要求部门号从大到小 ,部门号相同的按工资由低到高),显示的字段为:员工号、员工名、工资、部门号。
select empno ,ename,sal,deptno from emp order by deptno desc,sal;
5.不同部门经理的最低工资。
select min(sal) from (select * from emp where empno in (select mgr from emp)) t group by t.deptno;
6.检索部门号及其本部门的最低工资。
select deptno,min(sal) from emp group by deptno;
7.检索从事clerk工作的员工姓名和所在部门名称。
select ename ,dname from emp,dept where emp.deptno=dept.deptno and job='CLERK';
8.检索员工表emp中的第3条到第8条记录。显示emp表中的全部字段。
select * from(select rownum r,emp.* from emp where rownum<=8) temp where temp.r>3;
select * from emp;
9.查询 1980 1981 1982 1987 入职的员工人数 提示 使用 decode 函数
select count(*) "总人数",
sum(decode(to_char(hiredate,'yyyy'),'1980',1,0)) "1980",
sum(decode(to_char(hiredate,'yyyy'),'1981',1,0)) "1981",
sum(decode(to_char(hiredate,'yyyy'),'1982',1,0)) "1982",
sum(decode(to_char(hiredate,'yyyy'),'1987',1,0)) "1987"
from emp;
oracle十道子查询题
最新推荐文章于 2022-06-07 17:14:22 发布