Oracle综合测试题
2021/11/15 2:17:20
本文主要是介绍Oracle综合测试题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
-
将emp表的职员信息按雇佣日期由早到晚的先后顺序列出
select * from emp order by hiredate; -
查询职员表中没有奖金的员工信息
select * from emp where comm is null; -
查询工资高于所有员工平均工资的员工
select * from emp where sal>(select avg(sal) from emp); -
构造sql语句,查询emp表的信息,格式为“员工编码empno,姓名ename,月收入(工资+奖金)”
select ‘员工编码’||empno||’,姓名’||ename||’,月收入’||nvl(sal+comm,sal) from emp; -
查找员工姓名的长度是五个字符的员工信息
select * from emp where length(ename)=5; -
查询每个部门的职位种类,要去掉重复的职位
select deptno,job from emp group by deptno,job order by deptno; -
查询每个部门中每种职位的最高薪水
select deptno,job,max(sal) from emp group by deptno,job; -
查询员工的姓名和他在公司工作的年限(以月份数表示)
select ename,months_between(sysdate,hiredate) from emp; -
查询工资大于2000的员工的姓名,雇佣日期和薪水,其中雇佣日期以“1980年12月17日”这样的形式显示,薪水值以“rmb5000.00”这样的形式显示,查询结果按薪水的降序排序select ename,to_char(hiredate,‘yyyy"年"mm"月"dd"日"’) chusheng,‘rmb’||to_char(sal,‘9999.99’) from emp order by sal desc;
-
列出工资比smith多的所有员工
select * from emp where sal>(select sal from emp where ename=‘SMITH’); -
列出所有员工的姓名及其直接上级的姓名
select e.ename yuangong,m.ename lingdao from emp e,emp m where e.mgr=m.empno; -
列出最低工资大于1500的各种工作
select job ,min(sal) from emp group by job having min(sal)>1500; -
列出所有部门的详细信息和部门人数。
select d.*,renshu from dept d,(select deptno,count(empno) renshu from emp group by deptno) de where d.deptno=de.deptno; -
找出部门 10 中既不是经理也不是普通员工,而且工资大于等于 2000 的员工
select * from emp where deptno=10 and job<>‘MANAGER’ AND job<>‘CLERK’ AND SAL>=2000; -
找出部门 30 中得到最多奖金的员工姓名
select ename from emp where deptno=30 and comm=(select max(comm) from emp where deptno=30); -
分组统计每个部门下,每种职位的平均奖金(也要算没奖金的人)和总工资(包括奖金)
select deptno,job,avg(nvl(comm,0)),sum(nvl2(comm,sal+comm,sal)) from emp group by deptno,job; -
查找出工资等级不为 4 级的员工的员工名字,部门名字,部门地点。
select grade,ename,dname,loc from emp e join dept d on e.deptno=d.deptno join salgrade on sal between losal and hisal where grade<>4; -
生成一个1—20之间的随机数,再对其进行四舍五入处理,保留一位小数点。
select round(dbms_random.value(1,20),1) from dual; -
列出受雇日期早于其直接上级的所有员工。
select e.hiredate,e.ename yuangong,m.hiredate,m.ename lingdao from emp e join emp m on e.mgr=m.empno where e.hiredate<m.hiredate; -
查询每个部门中有同样工资的员工的统计信息, 列出他们的部门号,工资,人数。
select deptno,sal,count(empno) from emp e where (deptno,sal)in(select deptno,sal from emp where empno<>e.empno) group by deptno,sal; -
计算“1929-02-14”与当前日期之间相差的年份
select extract(year from sysdate)-extract(year from to_date(‘1929-02-12’,‘yyyy-mm-dd’)) from dual; -
查询不是领导的员工
select * from emp where empno not in(select mgr from emp where mgr is not null); -
查询第6条到第10条的员工记录
select * from (select rownum r,e.* from emp e where rownum<=10) e1 where r>=6; -
查询最高工资员工的名字和工作岗位
select ename,job,sal from emp where sal=(select max(sal) from emp ); -
显示没有上级的雇员的情况
select * from emp where mgr is null;
这篇关于Oracle综合测试题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享